游戏列表跳转游戏
This commit is contained in:
@@ -1,57 +1,31 @@
|
||||
package com.yunbao.main.views;
|
||||
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.graphics.Outline;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewOutlineProvider;
|
||||
import android.view.animation.LinearInterpolator;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.DataSource;
|
||||
import com.bumptech.glide.load.engine.GlideException;
|
||||
import com.bumptech.glide.request.RequestListener;
|
||||
import com.bumptech.glide.request.target.DrawableImageViewTarget;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.google.gson.Gson;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.lxj.xpopup.enums.PopupPosition;
|
||||
import com.ms.banner.Banner;
|
||||
import com.ms.banner.listener.OnBannerClickListener;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.activity.WebViewActivity;
|
||||
import com.yunbao.common.adapter.RefreshAdapter;
|
||||
import com.yunbao.common.bean.AnchorRecommendModel;
|
||||
import com.yunbao.common.bean.BannerBean;
|
||||
import com.yunbao.common.adapter.SudGameListAdapter;
|
||||
import com.yunbao.common.bean.CreateSudRoomModel;
|
||||
import com.yunbao.common.bean.CustomSidebarChildModel;
|
||||
import com.yunbao.common.bean.CustomSidebarInfoModel;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.bean.LiveClassBean;
|
||||
import com.yunbao.common.bean.WeekListBean;
|
||||
import com.yunbao.common.bean.SudRoomListModel;
|
||||
import com.yunbao.common.custom.CommonRefreshView;
|
||||
import com.yunbao.common.custom.ItemDecoration;
|
||||
import com.yunbao.common.dialog.CreateSudGamePopup;
|
||||
import com.yunbao.common.dialog.SudGameListSelectPopup;
|
||||
import com.yunbao.common.dialog.SudGameSearchDialogPopup;
|
||||
import com.yunbao.common.event.LiveRoomChangeEvent;
|
||||
import com.yunbao.common.event.RoomHolderTypeEvent;
|
||||
import com.yunbao.common.event.SudGameListEvent;
|
||||
import com.yunbao.common.event.SudGameListSillEvent;
|
||||
@@ -59,34 +33,17 @@ import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.LiveClassManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.views.CustomViewHolder;
|
||||
import com.yunbao.common.utils.RandomUtil;
|
||||
import com.yunbao.common.views.LiveSudGamePopup;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.utils.LiveStorge;
|
||||
import com.yunbao.live.views.LiveRoomViewHolder;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.activity.MainActivity;
|
||||
import com.yunbao.main.adapter.MainHomeLiveAdapter;
|
||||
import com.yunbao.main.adapter.MainHomeLivesClassAdapter;
|
||||
import com.yunbao.main.http.MainHttpConsts;
|
||||
import com.yunbao.main.http.MainHttpUtil;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/9/22.
|
||||
@@ -103,6 +60,7 @@ public class MainHomeGameViewHolder extends AbsMainHomeChildViewHolder implement
|
||||
private String mSill = "0,0", mSillName, roomHolderType = "0", roomHolderTypeName;
|
||||
private long animDuration = 500;
|
||||
private String id = "0";
|
||||
private SudGameListAdapter sudGameListAdapter;
|
||||
|
||||
public MainHomeGameViewHolder(Context context, ViewGroup parentView) {
|
||||
super(context, parentView);
|
||||
@@ -119,12 +77,91 @@ public class MainHomeGameViewHolder extends AbsMainHomeChildViewHolder implement
|
||||
public void init() {
|
||||
|
||||
initData();
|
||||
mSill = "0,0";
|
||||
roomHolderType = "0";
|
||||
id = "0";
|
||||
roomGameArrow = (ImageView) findViewById(R.id.room_game_arrow);
|
||||
roomSillArrow = (ImageView) findViewById(R.id.room_sill_arrow);
|
||||
houseOwnerArrow = (ImageView) findViewById(R.id.house_owner_arrow);
|
||||
gameTitle = (TextView) findViewById(R.id.game_title);
|
||||
sillTitle = (TextView) findViewById(R.id.room_sill_text);
|
||||
houseOwnerTitle = (TextView) findViewById(R.id.house_owner_text);
|
||||
mRefreshView = (CommonRefreshView) findViewById(R.id.refreshView);
|
||||
mRefreshView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false));
|
||||
sudGameListAdapter = new SudGameListAdapter(mContext, true);
|
||||
mRefreshView.setLoadMoreEnable(true);
|
||||
mRefreshView.setRecyclerViewAdapter(sudGameListAdapter);
|
||||
mRefreshView.setDataHelper(new CommonRefreshView.DataHelper<SudRoomListModel>() {
|
||||
@Override
|
||||
public RefreshAdapter<SudRoomListModel> getAdapter() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadData(int p, com.yunbao.common.http.HttpCallback callback) {
|
||||
LiveHttpUtil.getRoomList(id, mSill, roomHolderType, "0", p, callback);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SudRoomListModel> processData(String[] info) {
|
||||
if (info.length > 0) {
|
||||
List<SudRoomListModel> sudRoomListModels = new ArrayList<>();
|
||||
for (String json : info) {
|
||||
SudRoomListModel model = new Gson().fromJson(json, SudRoomListModel.class);
|
||||
sudRoomListModels.add(model);
|
||||
}
|
||||
return sudRoomListModels;
|
||||
} else {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefreshSuccess(List<SudRoomListModel> list, int listCount) {
|
||||
Log.i("onRefreshSuccess", listCount + "");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefreshFailure() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadMoreSuccess(List<SudRoomListModel> loadItemList, int loadItemCount) {
|
||||
sudGameListAdapter.insertList(loadItemList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadMoreFailure() {
|
||||
|
||||
}
|
||||
});
|
||||
mRefreshView.initData();
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(com.yunbao.common.R.id.random_start), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
|
||||
List<SudRoomListModel> sudRoomListModels = sudGameListAdapter.getList();
|
||||
if (sudRoomListModels.size() > 1) {
|
||||
int random = RandomUtil.nextInt(sudRoomListModels.size() - 1);
|
||||
CreateSudRoomModel createSudRoomModel = new CreateSudRoomModel();
|
||||
createSudRoomModel.setSudGameId(sudRoomListModels.get(random).getSudGameId());
|
||||
createSudRoomModel.setSudGameRoomId(sudRoomListModels.get(random).getSudGameRoomId());
|
||||
createSudRoomModel.setAvatar(sudRoomListModels.get(random).getAvatar());
|
||||
createSudRoomModel.setRoomName(sudRoomListModels.get(random).getRoomName());
|
||||
createSudRoomModel.setSudGameName(sudRoomListModels.get(random).getSudGameName());
|
||||
new XPopup.Builder(mContext)
|
||||
.enableDrag(false)
|
||||
.dismissOnTouchOutside(false)
|
||||
.dismissOnBackPressed(false)
|
||||
.asCustom(new LiveSudGamePopup(mContext, createSudRoomModel))
|
||||
.show();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.interactive_game_room_game), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
@@ -204,7 +241,7 @@ public class MainHomeGameViewHolder extends AbsMainHomeChildViewHolder implement
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.search), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
new SudGameSearchDialogPopup(mContext).showDialog();
|
||||
new SudGameSearchDialogPopup(mContext, true).showDialog();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -237,7 +274,7 @@ public class MainHomeGameViewHolder extends AbsMainHomeChildViewHolder implement
|
||||
interactionID = event.getInteractionID();
|
||||
gameTitle.setText(event.getTitle().substring(0, 2));
|
||||
id = event.getId();
|
||||
initData();
|
||||
mRefreshView.initData();
|
||||
closeAnimSudGameListEvent();
|
||||
}
|
||||
|
||||
@@ -251,7 +288,7 @@ public class MainHomeGameViewHolder extends AbsMainHomeChildViewHolder implement
|
||||
sillTitle.setText(mSillName.substring(0, mSillName.length() - 2));
|
||||
}
|
||||
closeAnimSudGameListSillEvent();
|
||||
initData();
|
||||
mRefreshView.initData();
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
@@ -259,7 +296,7 @@ public class MainHomeGameViewHolder extends AbsMainHomeChildViewHolder implement
|
||||
roomHolderType = event.getRoomHolderType();
|
||||
roomHolderTypeName = event.getRoomHolderTypeName();
|
||||
houseOwnerTitle.setText(roomHolderTypeName);
|
||||
initData();
|
||||
mRefreshView.initData();
|
||||
closeAnimRoomHolderTypeEvent();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@mipmap/bg_main_home_sub_game"
|
||||
@@ -16,10 +15,10 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:textStyle="bold"
|
||||
android:text="@string/interactive_game_room_list"
|
||||
android:textColor="#000"
|
||||
android:textSize="16sp" />
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
@@ -47,7 +46,8 @@
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="17dp"
|
||||
android:src="@mipmap/icon_home_interactive_game_ranking" />
|
||||
android:src="@mipmap/icon_home_interactive_game_ranking"
|
||||
android:visibility="gone" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
@@ -62,8 +62,8 @@
|
||||
android:layout_marginStart="14dp"
|
||||
android:text="@string/interactive_game_room_game"
|
||||
android:textColor="#000"
|
||||
android:textStyle="bold"
|
||||
android:textSize="14sp" />
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/interactive_game_room_game"
|
||||
@@ -96,8 +96,8 @@
|
||||
android:layout_marginStart="20dp"
|
||||
android:text="@string/interactive_game_room_sill"
|
||||
android:textColor="#000"
|
||||
android:textStyle="bold"
|
||||
android:textSize="14sp" />
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/room_sill"
|
||||
@@ -131,8 +131,8 @@
|
||||
android:layout_marginStart="20dp"
|
||||
android:text="@string/interactive_game_room_house_owner"
|
||||
android:textColor="#000"
|
||||
android:textStyle="bold"
|
||||
android:textSize="14sp" />
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/house_owner"
|
||||
@@ -174,6 +174,7 @@
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/random_start"
|
||||
android:layout_width="174dp"
|
||||
android:layout_height="61dp"
|
||||
android:layout_gravity="center_horizontal|bottom"
|
||||
|
||||
Reference in New Issue
Block a user