package com.hupu.games.activity; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.LinkedHashMap; import org.json.JSONArray; import org.json.JSONObject; import android.annotation.SuppressLint; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; import android.os.Message; import android.provider.Settings; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; import android.util.Log; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.TextView; import com.hupu.games.HuPuApp; import com.hupu.games.R; import com.hupu.games.adapter.GameDataListLandAdapter; import com.hupu.games.adapter.RoomListAdapter; import com.hupu.games.common.HuPuRes; import com.hupu.games.common.HupuLog; import com.hupu.games.common.SharedPreferencesMgr; import com.hupu.games.data.BaseEntity; import com.hupu.games.data.BaseLiveResp; import com.hupu.games.data.ChatResp; import com.hupu.games.data.FollowResp; import com.hupu.games.data.PlayerEntity; import com.hupu.games.data.PushNotify; import com.hupu.games.data.Recap; import com.hupu.games.data.SendMsgResp; import com.hupu.games.data.game.basketball.BasketballGameEntity; import com.hupu.games.data.game.basketball.NBALiveResp; import com.hupu.games.data.game.quiz.QuizCommitResp; import com.hupu.games.data.personal.box.BoxScoreResp; import com.hupu.games.data.room.GiftEntity; import com.hupu.games.data.room.GiftReqDataEntity; import com.hupu.games.data.room.GiftRespResultEntity; import com.hupu.games.data.room.RoomEntity; import com.hupu.games.data.room.RoomListEntity; import com.hupu.games.dialog.EpandDownAnimation; import com.hupu.games.dialog.EpandDownAnimation.EpandAnimationCallBack; import com.hupu.games.dialog.GiftTipsDialog; import com.hupu.games.dialog.TipsDialog; import com.hupu.games.fragment.ChatFragment; import com.hupu.games.fragment.LiveFragment; import com.hupu.games.fragment.QuizListFragment; import com.hupu.games.fragment.ReportFragment; import com.hupu.games.fragment.StatisticFragment; import com.hupu.games.hupudollor.activity.HupuDollorOrderActivity; import com.hupu.games.hupudollor.data.HupuDollorBalanceReq; import com.hupu.games.livegift.animation.AnimationTool; import com.hupu.games.pay.BasePayActivity; import com.hupu.games.pay.HupuOrderActivity; import com.hupu.http.HupuHttpHandler; import com.koushikdutta.urlimageviewhelper.UrlImageViewHelper; import com.pyj.common.DeviceInfo; import com.pyj.common.MyUtility; import com.pyj.http.RequestParams; /** * 显示直播,统计数据页面 * */ public class NBAGameActivity extends BaseGameLiftActivity { private final static int GAME_STATE_CANCEL = 4; private final static int GAME_STATE_ONGOING = 2; private final static int GAME_STATE_END = 1; private final static int GAME_STATE_NOT_START = 3; /** 比赛的entity */ private BasketballGameEntity mEntityGame; /** 包含比分,球队信息,开赛时间的layout */ private View mLayoutScoreBar; // private ImageButton btnRating; /** 关注比赛按钮 */ private Button btnFollow; /** 视频播放按钮 */ private Button btnPlay; // private HupuViewPager mPager; /** 统计页 */ private StatisticFragment mFragmentStatistic; /** 评分页 */ // private PlayersRatingFragment mFragmentPlayer; /** 比赛中 和 比赛后 直播和统计页所在的位置不同,所以需要做相应的处理 */ private int i_liveIndex; private int i_staticIndex; /** 是否是比赛日 */ private boolean bMatchDay; /** 回调需要记录在从比赛列表进入时是不是关注了该比赛,返回时可以及时的响应出来 */ // private int i_initFollow; private Intent mIntent; /** 竖直View */ View vPortrait; /** 水平的View */ View vLandscape; /** 比赛已经结束后,是不是获取的最后直播数据 */ public boolean getLiveEndData; /** 比赛已经结束后,是不是获取的最后统计数据 */ public boolean getBoxEndData; /***/ private int lastLiveID; private int lastChatID; /** * 是否为关注比赛,该变量是临时设置,因为关注或取消操作是延时操作,只有数据成功返回后,才是真实情况。 返回失败,则会重置 */ private boolean isFollow; private String mDefaultTab; /** 统计偏移量 */ private int bid; /** 房间礼物相关 */ private ListView mRoomListView; private RoomListAdapter mRoomListAdapter; // private LinearLayout mGiftView; private LinearLayout mRoomView; private int sortId;//请求正序还是逆序 String curRoomtitle; String curRoomOnline; private RelativeLayout title_layout; private ImageView title_room_switch; private TextView room_people_numTextView; private String live_online="%s人在线"; boolean livefirstIn; @Override public void onCreate(Bundle savedInstanceState) { if (savedInstanceState != null) savedInstanceState.clear(); super.onCreate(savedInstanceState); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); setContentView(R.layout.layout_data); HuPuRes.setClient(mDeviceId); // l_date =mIntent.getLongExtra("date", 0); mIntent = getIntent(); tag = mIntent.getStringExtra("tag"); gid = mIntent.getIntExtra("gid", 0); lid = mIntent.getIntExtra("lid", 1); if (gid > 0) { mDefaultTab = mIntent.getStringExtra("tab"); HupuLog.e("papa", "defaultTab===" + mDefaultTab); // 外部跳转 initParameter(); mParams.put("gid", "" + gid); sendRequest(HuPuRes.REQ_METHOD_NBA_GAMES_BY_GID, mParams); } else { // 从赛程页进入 mEntityGame = (BasketballGameEntity) mIntent .getSerializableExtra("game"); gid = mEntityGame.i_gId; mDefaultTab = mEntityGame.default_tab; if (mEntityGame == null) { finish(); } bMatchDay = mIntent.getBooleanExtra("match", false); init(); } } private boolean isResume = false; public void onResume() { super.onResume(); if (bJoinRoom) { // 如果需要加入房间 if (DeviceInfo.isNetWorkEnable(this)) { // 如果是非聊天 if (curFragmentIndex == INDEX_LIVE) { setJsonObj(BaseEntity.KEY_PID, lastLiveID); // 如果是有竞猜的比赛,需要加入所有为关闭的竞猜id setJsonObj("qids", mFragmentLive.getQids()); joinRoom(); } else if (curFragmentIndex == INDEX_CHAT) { // reqChatData(lastChatID); // if (!mApp.isSocketConn()) { // Log.d("onResume", "join statistic"); // Log.d("onResume", "join statistic="+toChat); if (lastChatID > 0) setJsonObj(BaseEntity.KEY_PID, lastChatID); if (!toChat) { setJsonObj("direc", "next"); joinRoom(); } toChat = false; } else if (curFragmentIndex == INDEX_STATISTIC) { if (bid > 0 && !getBoxEndData) { // Log.d("onResume", "join statistic"); joinRoom(); } } } else { mApp.setNetState(HuPuApp.STATE_NO_NET); reconnect(false); } } if (curFragmentIndex == INDEX_PLAYER_RATING) { // 刷新 } if (curFragmentIndex == INDEX_QUIZ) { if (isResume) { getQuizList(); } else { isResume = true; } joinRoom(); } } @Override public void onLoginSuccess() { // TODO Auto-generated method stub super.onLoginSuccess(); if (curFragmentIndex == INDEX_QUIZ) { getQuizList(); joinRoom(); } } /** 发送信息 */ @Override public void sendChatMsg(int type, String name, String ss,int roomid) { mParams.put("type", "nba"); mParams.put("username", name); mParams.put("roomid", roomid+""); if (type == 0) { mParams.put("content", ss); mParams.remove("emoji"); } else { mParams.put("emoji", ss); mParams.remove("content"); } mParams.put("token", SharedPreferencesMgr.getString("tk", "")); mParams.put("gid", "" + gid); // Log.d("token", SharedPreferencesMgr.getString("tk", "")); reqHttp(HuPuRes.REQ_METHOD_SENT_CHAT); if (mFragmentChat != null) mFragmentChat.addData(type, name, ss); // joinRoom(); } private void replaceContent(int index) { if (curFragmentIndex == index) return; Fragment fragment = null; switch (index) { case INDEX_REPORT: if (mFragmentReport == null) mFragmentReport = new ReportFragment(); fragment = mFragmentReport; break; case INDEX_LIVE: if (mFragmentLive == null) mFragmentLive = new LiveFragment(mEntityGame.i_home_tid, mEntityGame.i_away_tid, curGameState != GAME_STATE_NOT_START); fragment = mFragmentLive; break; case INDEX_STATISTIC: if (mFragmentStatistic == null) mFragmentStatistic = new StatisticFragment(mEntityGame); fragment = mFragmentStatistic; break; case INDEX_CHAT: if (mFragmentChat == null) { mFragmentChat = new ChatFragment(); mFragmentChat.setTag("NBA"); } fragment = mFragmentChat; break; case INDEX_PLAYER_RATING: // if (mFragmentPlayer == null) // mFragmentPlayer = new PlayersRatingFragment(); // fragment = mFragmentPlayer; break; case INDEX_QUIZ: if (mFragmentQuizList == null) { mFragmentQuizList = new QuizListFragment(); // mFragmentQuizList.setBets(bets); } fragment = mFragmentQuizList; setJsonObj(BaseEntity.KEY_GAME_ID, gid); setJsonObj("roomid", roomid); joinRoom(HuPuRes.ROOM_NBA_CASINO); // if (mQid >0) // mFragmentQuizList.setSelection(mQid); break; } curFragmentIndex = index; if (fragment != null) replaceContent(fragment); } private void replaceContent(Fragment fragment) { FragmentTransaction transaction = getSupportFragmentManager() .beginTransaction(); transaction.replace(R.id.nba_content, fragment); transaction.addToBackStack(null); transaction.commitAllowingStateLoss(); } public RequestParams getHttpParams() { return mParams; } public boolean sendRequest(int reqType, RequestParams params) { return sendRequest(reqType, params, new HupuHttpHandler(this)); } private void initView() { vPortrait = findViewById(R.id.layout_portrait); vLandscape = findViewById(R.id.layout_land); // mPager = (HupuViewPager) findViewById(R.id.pager_datas); // txtTitle = (TextView) findViewById(R.id.txt_title); mLayoutScoreBar = findViewById(R.id.layout_score_bar); mLayoutScoreBar.setVisibility(View.VISIBLE); txtTitle = (TextView) findViewById(R.id.txt_title); // txtTitle.setText(R.string.title_live); txtTeamLeft = (TextView) findViewById(R.id.txt_team_left); txtTeamRight = (TextView) findViewById(R.id.txt_team_right); txtProcess = (TextView) findViewById(R.id.txt_proccess); txtScore = (TextView) findViewById(R.id.txt_score); setSore(0, 0); txtStartTime = (TextView) findViewById(R.id.txt_start_time); imgTeamLeft = (ImageView) findViewById(R.id.img_team_left); imgTeamRight = (ImageView) findViewById(R.id.img_team_right); setTeamName(); btnChat = (ImageButton) findViewById(R.id.btn_chat); btnQuiz = (ImageButton) findViewById(R.id.btn_quiz); btnFollow = (Button) findViewById(R.id.btn_follow); btnPlay = (Button) findViewById(R.id.btn_play); btnThird = (ImageButton) findViewById(R.id.btn_third); btnSecond = (ImageButton) findViewById(R.id.btn_second); btnReport = (ImageButton) findViewById(R.id.btn_first); // btnRating = (ImageButton) findViewById(R.id.btn_players_rating); // initExciting(); imgRedPiont = (ImageView) findViewById(R.id.icon_red_point); imgRedPiont.setVisibility(View.GONE); rewardInfo = (RelativeLayout) findViewById(R.id.reward_info); title_room_switch = (ImageView) findViewById(R.id.title_room_switch); room_people_numTextView = (TextView) findViewById(R.id.title_room_peple_online); // eAnimation = new EpandDownAnimation(this,new EpandCallBack()); } /** 初始化 */ private void init() { curGameState = mEntityGame.byt_status; txtStartTime = (TextView) findViewById(R.id.txt_start_time); UMENG_MAP.clear(); HupuLog.e("papa", "curGameState==" + curGameState); if (curGameState == GAME_STATE_CANCEL) { txtStartTime.setText(R.string.canceled); } else { initView(); initParameter(); setJsonObj(BaseEntity.KEY_GAME_ID, gid); mParams.put(BaseEntity.KEY_GAME_ID, "" + gid); mParams.put(BaseEntity.KEY_VERTICAL, "" + true); setViewByStatus(true); if (curGameState == GAME_STATE_NOT_START) { // 未开始 txtStartTime.setVisibility(View.VISIBLE); txtStartTime.setText(MyUtility.getStartTime( mEntityGame.l_begin_time * 1000, sdf)); txtScore.setVisibility(View.GONE); if (mDefaultTab == null) treatClickEvent(R.id.btn_quiz);// 竞猜 else switchTab(); setScreenLight(true); } else { // mFragmentLive.isStart(true); mLayoutScoreBar.setVisibility(View.VISIBLE); txtStartTime.setVisibility(View.GONE); setSore(mEntityGame.i_home_score, mEntityGame.i_away_score); txtProcess.setText(mEntityGame.str_process); if (mDefaultTab != null) { switchTab(); } else { if (curGameState == GAME_STATE_END)// 已经结束 { treatClickEvent(R.id.btn_first);// 战报 } else if (curGameState == GAME_STATE_ONGOING) // 进行中 { // mPager.setCurrentItem(1, false); treatClickEvent(R.id.btn_second);// 直播 setScreenLight(true); } } } } // init 房间部分 initRoomAndGift(); setTeamName(); // test // reqHttp(HuPuRes.REQ_METHOD_GET_PLAY_LIVE); // setOnClickListener(R.id.layout_live_title); // setOnClickListener(R.id.txt_title); // setOnClickListener(R.id.title_room_switch); setOnClickListener(R.id.choose_room_dialog); setOnClickListener(R.id.btn_third); setOnClickListener(R.id.btn_second); setOnClickListener(R.id.btn_back); setOnClickListener(R.id.btn_first); setOnClickListener(R.id.btn_follow); setOnClickListener(R.id.btn_play); // setOnClickListener(R.id.btn_players_rating); setOnClickListener(R.id.btn_land); setOnClickListener(R.id.btn_chat); setOnClickListener(R.id.btn_quiz); setOnClickListener(R.id.btn_sent); setOnClickListener(R.id.gold_num); setOnClickListener(R.id.img_team_left); setOnClickListener(R.id.img_team_right); btnFollow = (Button) findViewById(R.id.btn_follow); btnPlay = (Button) findViewById(R.id.btn_play); isFollow = mEntityGame.bFollow == 1; setFollowBtn(); } /* * @Override public void onWindowFocusChanged(boolean hasFocus) { * phizAnimation.start(); * * } */ /** 设置关注比赛的UI状态 */ private void setFollowBtn() { if (curGameState == GAME_STATE_ONGOING || curGameState == GAME_STATE_NOT_START) { // 默认tag 修改后 会有自动跳入其他tag 所以默认不显示 故注释掉 2014 1-22 // findViewById(R.id.layout_title_btn).setVisibility(View.VISIBLE); if (isFollow) { // btnFollow.setImageResource(R.drawable.btn_txt_followed); // btnFollow.setImageResource(R.drawable.btn_dated_2); btnFollow.setBackgroundResource(R.drawable.btn_alarm_bright); } else { // btnFollow.setImageResource(R.drawable.btn_txt_follow); // btnFollow.setImageResource(R.drawable.btn_date_2); btnFollow.setBackgroundResource(R.drawable.btn_alarm_dark); } } else { btnFollow.setVisibility(View.GONE); btnPlay.setVisibility(View.GONE); findViewById(R.id.layout_title_btn).setVisibility(View.GONE); } } /** 设置球队名称 */ private void setTeamName() { // 球队名称 txtTeamLeft.setText(mEntityGame.str_home_name + " (主)"); txtTeamRight.setText(mEntityGame.str_away_name + " (客)"); // UrlImageViewHelper.setUrlDrawable(imgTeamLeft, mEntityGame.home_logo, // R.drawable.bg_home_nologo); // UrlImageViewHelper.setUrlDrawable(imgTeamRight, // mEntityGame.away_logo, R.drawable.bg_home_nologo); if (mEntityGame.home_logo != null) UrlImageViewHelper.setUrlDrawable(imgTeamLeft, mEntityGame.home_logo, R.drawable.bg_home_nologo); else imgTeamLeft.setImageResource(HuPuApp .getTeamData(mEntityGame.i_home_tid).i_logo_small); if (mEntityGame.away_logo != null) UrlImageViewHelper.setUrlDrawable(imgTeamRight, mEntityGame.away_logo, R.drawable.bg_home_nologo); else imgTeamRight.setImageResource(HuPuApp .getTeamData(mEntityGame.i_away_tid).i_logo_small); } @Override public void onReqResponse(Object o, int methodId) { super.onReqResponse(o, methodId); // 底部栏 需要数据返回后才显示! showBottomBar(); switch (methodId) { case HuPuRes.REQ_METHOD_GET_PLAY_LIVE_ASC: case HuPuRes.REQ_METHOD_GET_PLAY_LIVE_DESC: NBALiveResp data = (NBALiveResp) o; if (data != null) { initGift(data,INDEX_LIVE,true); movieUrl = data.tvLink; if (!"".equals(movieUrl)) btnPlay.setEnabled(true); if (curGameState != GAME_STATE_NOT_START) mFragmentLive.isStart(true); if (data.follow > -1 && data.follow != mEntityGame.bFollow) { mEntityGame.bFollow = (byte) data.follow; isFollow = mEntityGame.bFollow == 1; setFollowBtn(); } roomPreview = data.preview; mFragmentLive.setPreview(roomPreview); roomid = data.default_room_id; setJsonObj("roomid", roomid); if (data.preview != null && !"".equals(data.preview)) { // 设置前瞻 HupuLog.e("papa", "---set----preview="+roomPreview); mFragmentLive.setURL(data.preview); } if (data.casinoInit != null) { bets = data.casinoInit.bets; mFragmentLive.setBets(data.casinoInit.bets); } if (data.dataList == null) { // 没有数据 if (curGameState == GAME_STATE_NOT_START) { // showToast("比赛未开始"); bJoinRoom = true; joinRoom(HuPuRes.ROOM_PLAYBYPLAY); } else { showToast("暂无直播数据"); } mFragmentLive.addData(true); //return; } mFragmentLive.setData(data.dataList); bHasLiveData = true; lastLiveID = data.i_pId; // Log.d("http back pid", ""+data.i_pId); // 如果是比赛 if (methodId == HuPuRes.REQ_METHOD_GET_PLAY_LIVE_DESC){ setJsonObj(BaseEntity.KEY_PID, data.i_pId); } if (curGameState != GAME_STATE_CANCEL) {// 如果比赛未结束需要加入房间 bJoinRoom = true; joinRoom(HuPuRes.ROOM_PLAYBYPLAY); } else { getLiveEndData = true; } // if (data.is_enter == 0) { // livefirstIn = true; // setRoomTitle(getString(R.string.title_select_room)); // showRoomAction(); // title_room_switch.setImageResource(R.drawable.icon_arrow_up_live); // }else{ // livefirstIn=false; // } if (data.roomList != null) { boolean isShow = data.roomList!=null&&data.roomList.size()>1?true:false; if (data.is_enter == 0&&isShow) { livefirstIn = true; }else{ livefirstIn = false; } switchRoomStatus(INDEX_LIVE,livefirstIn); setRoomList(data.roomList,data.default_room_id); for (RoomEntity entity:data.roomList) { if (entity.id == data.default_room_id) { if(data.is_enter == 0){ if(data.roomList!=null&&data.roomList.size()>1) { curRoomtitle = getString(R.string.title_select_room); setRoomTitle(curRoomtitle); mRoomListAdapter.setDefaultId(-1); mRoomListAdapter.notifyDataSetChanged(); showRoomAction(); } else { curRoomtitle = entity.name; curRoomOnline = String.format(live_online, entity.count); } setRoomOnlineNum("0",false); }else{ setRoomTitle(entity.name); setRoomOnlineNum(String.format(live_online, entity.count),true); } } } } } break; case HuPuRes.REQ_METHOD_BOX_SCORE: BoxScoreResp box = (BoxScoreResp) o; if (box.mEntityHome == null) { // 没有数据 mFragmentStatistic.addData(true); showToast("暂无统计数据"); return; } mFragmentStatistic.setData(box, false); if (mBoxscoreData == null) mBoxscoreData = new BoxscoreDatas(); mFragmentStatistic.updateBoxScoreData(mBoxscoreData); bHasStatisticData = true; setJsonObj("bid", box.i_bId); if (curGameState != GAME_STATE_END) { setJsonObj("roomid", roomid); joinRoom(HuPuRes.ROOM_NBA_BOXSCORE); bJoinRoom = true; } else { getBoxEndData = true; } if (isLandMode) { if (mDataLandAdapter == null) initLand(); mDataLandAdapter.setData(mBoxscoreData); } break; case HuPuRes.REQ_METHOD_GET_RECAP: Recap recap = (Recap) o; mFragmentReport.setData(recap); bHasReportData = true; break; case HuPuRes.REQ_METHOD_FOLLOW_NBA_GAME: case HuPuRes.REQ_METHOD_FOLLOW_NBA_GAME_CANCEL: FollowResp resp = (FollowResp) o; if (resp == null || resp.i_success == 0) { // 提交失败 showToast(String.format(SORRY_NOTIFY, mEntityGame.str_home_name, mEntityGame.str_away_name)); isFollow = !isFollow; setFollowBtn(); } else { if (isFollow) mEntityGame.bFollow = 1; else mEntityGame.bFollow = 0; if (methodId == HuPuRes.REQ_METHOD_FOLLOW_NBA_GAME) showToast(String.format(SUCCESS_NOTIFY, mEntityGame.str_home_name, mEntityGame.str_away_name)); if (methodId == HuPuRes.REQ_METHOD_FOLLOW_NBA_GAME_CANCEL) showToast(CANCEL_NOTIFY); } break; case HuPuRes.REQ_METHOD_SENT_CHAT: SendMsgResp msg = (SendMsgResp) o; if (msg.err != null) { // Log.d("SendMsgResp", data.err); showToast(msg.err); } else { if (msg.pid == 0) { reqChatData(lastChatID); } else { mFragmentChat.setLastId(msg.pid); lastChatID = msg.pid; setJsonObj("pid", lastChatID); setJsonObj("direc", "next"); if (mToken != null) setJsonObj("tk", "mToken"); setJsonObj("roomid", roomid); joinRoom(HuPuRes.ROOM_NBA_CHAT); } } break; case HuPuRes.REQ_METHOD_QUIZ_LIST: case HuPuRes.REQ_METHOD_QUIZ_LIST_COMMIT: case HuPuRes.REQ_METHOD_POST_INCREASE: case HuPuRes.REQ_METHOD_BET_COINS: case HuPuRes.REQ_METHOD_CAIPIAO_COMMIT: if (curFragmentIndex == INDEX_QUIZ) mFragmentQuizList.onReqResponse(o, methodId, mQid); break; case HuPuRes.REQ_METHOD_NBA_GAMES_BY_GID: mEntityGame = (BasketballGameEntity) o; init(); break; // case HuPuRes.REQ_METHOD_GET_PLAY_LIVE_SEND_GIFT: // if (o != null) { // GiftRespResultEntity gren = (GiftRespResultEntity)o; // // this.hupuDollor = gren.balance; // this.interval = gren.interval; // } // // break; // case HuPuRes.REQ_METHOD_GET_HUPUDOLLOR_BALANCE: // if (o != null) { // HupuDollorBalanceReq info = (HupuDollorBalanceReq) o; // this.hupuDollor=info.balance; // } // break; case HuPuRes.REQ_METHOD_GET_PLAY_LIVE_ROOMLIST: if (o != null) { RoomListEntity info = (RoomListEntity) o; if(info!=null&&info.roomList!=null) { setRoomList(info.roomList, roomid); showRoomAction(); } } break; } } @Override public void onReqResponse(Object o, int methodId, int msg1, int msg2) { super.onReqResponse(o, methodId); if (o == null) return; switch (methodId) { case HuPuRes.REQ_METHOD_QUIZ_COMMIT: case HuPuRes.REQ_METHOD_QUIZ_COMMIT_INCREASE: // 提交竞猜 QuizCommitResp entity = (QuizCommitResp) o; if (entity.result == -1) showToast("参与过了"); else if (entity.result == 2) { // 通知领救济金 // showCustomDialog(DIALOG_SHOW_GET_DOLE, 0, // R.string.get_now_info, ONE_BUTTON, // R.string.title_confirm, 0); showToast(getResources().getString(R.string.get_now_info)); mFragmentLive.updateCommit(msg1, msg2); } else if (entity.result == -2 || entity.result == -3) { // showToast("金币余额不足"); // showNoMoney(0, 0); if (!isExchange) { mFragmentLive.showNoMoney(entity.eGoldBean); } } else if (entity.result == -4) { showToast("竞猜已关闭"); } else { showToast("参与成功"); mFragmentLive.updateCommit(msg1, msg2); } break; } } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { cancelConnection(); finish(); } return false; } private final int DIALOG_NOTIFY = 1314; @Override public void clickNegativeButton(int dialogId) { super.clickNegativeButton(dialogId); if (mDialog != null) mDialog.cancel(); } @Override public void clickPositiveButton(int dialogId) { super.clickPositiveButton(dialogId); switch (dialogId) { case DIALOG_NOTIFY: mApp.setNotify(true); followGame(gid, (byte) 0); isFollow = !isFollow; setFollowBtn(); break; } // 打开通知 if (mDialog != null) mDialog.cancel(); } private void setFollow() { if (isFollow) { followGame(gid, (byte) 1); } else { if (mApp.needNotify) { followGame(gid, (byte) 0); } else { showCustomDialog(DIALOG_NOTIFY, R.string.push_title, R.string.push_open_notify, 3, R.string.open_notify, R.string.cancel); return; } } // 立即修改 isFollow = !isFollow; setFollowBtn(); } @Override public void onErrResponse(Throwable error, int type) { String content = error.toString(); if (content != null) { if (type == HuPuRes.REQ_METHOD_RATING_RATE) { } showToast(content); } } @Override public void updateMoney(int betCoin, int balance) { if (mFragmentLive != null) mFragmentLive.updateMoney(betCoin, money); } /** 请求Http数据 */ private void reqHttp(int repType) { mParams.put(BaseEntity.KEY_GAME_ID, "" + gid); sendRequest(repType, mParams, new HupuHttpHandler(this)); } /** 直播过程中请求刷,就是重新加入room */ public void reqFresh() { if (bJoinRoom && getRoom() != null) joinRoom(); // mFragmentLive.stopLoad(); } @Override protected void onStop() { super.onStop(); if (bJoinRoom) reqLeaveRoom(); } /** 根据不同的比赛状态,切换不同的显示方式 */ private void setViewByStatus(boolean init) { HupuLog.d("setViewByStatus", "curGameState=" + curGameState); if (curGameState == GAME_STATE_END) { // 比赛结束后第一个按键是战报,第二个是统计,三个是直播,第四个是热线 btnReport.setVisibility(View.VISIBLE); btnSecond.setImageResource(R.drawable.btn_statistics); btnThird.setImageResource(R.drawable.btn_live_up); i_liveIndex = R.id.btn_third; i_staticIndex = R.id.btn_second; if (!init) { // setBackgound(curFragmentIndex); int color = getResources().getColor(R.color.transform); btnSecond.setBackgroundColor(color); btnThird.setBackgroundColor(color); // Log.d("setViewByStatus", // "curFragmentIndex="+curFragmentIndex+" ;i_liveIndex="+i_liveIndex+";i_staticIndex="+i_staticIndex); if (INDEX_LIVE == curFragmentIndex) { btnThird.setBackgroundResource(R.drawable.bg_bottom_hover); btnThird.setImageResource(R.drawable.btn_live_down); } else if (INDEX_STATISTIC == curFragmentIndex) { btnSecond.setBackgroundResource(R.drawable.bg_bottom_hover); btnSecond.setImageResource(R.drawable.btn_statistics_hover); } } // setScreenLight(false);// game over } else if (curGameState == GAME_STATE_ONGOING || curGameState == GAME_STATE_NOT_START) { i_liveIndex = R.id.btn_second; i_staticIndex = R.id.btn_third; btnSecond.setImageResource(R.drawable.btn_live_up); btnThird.setImageResource(R.drawable.btn_statistics); if (curGameState == GAME_STATE_ONGOING && !init) { mLayoutScoreBar.setVisibility(View.VISIBLE); txtScore.setVisibility(View.VISIBLE); setSore(mEntityGame.i_home_score, mEntityGame.i_away_score); txtStartTime.setVisibility(View.GONE); txtProcess.setText(mEntityGame.str_process); // mPager.setCurrentItem(INDEX_LIVE, false); replaceContent(INDEX_LIVE); setBackgound(INDEX_LIVE); setScreenLight(true); } if (curGameState == GAME_STATE_NOT_START) { // btnThird.setVisibility(View.GONE); } else { btnThird.setVisibility(View.VISIBLE); } } } /** 点击后的按钮背景变化 */ private void setBackgound(int index) { initGift(null,index,false); switchRoomStatus(index,livefirstIn); int color = getResources().getColor(R.color.transform); switch (curFragmentIndex) {// 点击前 case INDEX_PLAYER_RATING: case INDEX_REPORT: btnReport.setBackgroundColor(color); btnReport.setImageResource(R.drawable.btn_report); break; case INDEX_LIVE: if (i_liveIndex == R.id.btn_second)// 进行中 { btnSecond.setBackgroundColor(color); btnSecond.setImageResource(R.drawable.btn_live_up); } else { btnThird.setBackgroundColor(color); btnThird.setImageResource(R.drawable.btn_live_up); } break; case INDEX_STATISTIC: if (i_staticIndex == R.id.btn_second) { btnSecond.setBackgroundColor(color); btnSecond.setImageResource(R.drawable.btn_statistics); } else { btnThird.setBackgroundColor(color); btnThird.setImageResource(R.drawable.btn_statistics); } findViewById(R.id.btn_land).setVisibility(View.GONE); unregistSetting(); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); break; case INDEX_CHAT: btnChat.setBackgroundColor(color); btnChat.setImageResource(R.drawable.btn_chat_up); findViewById(R.id.btn_sent).setVisibility(View.GONE); break; // case INDEX_PLAYER_RATING: // btnRating.setBackgroundColor(color); // btnRating.setImageResource(R.drawable.btn_rating); // break; case INDEX_QUIZ: btnQuiz.setBackgroundColor(color); btnQuiz.setImageResource(R.drawable.btn_tag_guess_up); findViewById(R.id.gold_num).setVisibility(View.GONE); break; } switch (index) {// 点击后 case INDEX_REPORT: mLayoutScoreBar.setVisibility(View.VISIBLE); btnReport.setBackgroundResource(R.drawable.bg_bottom_hover); btnReport.setImageResource(R.drawable.btn_report_hover); break; case INDEX_LIVE: findViewById(R.id.layout_gift).setVisibility(View.VISIBLE); mLayoutScoreBar.setVisibility(View.VISIBLE); if (i_liveIndex == R.id.btn_second) { btnSecond.setBackgroundResource(R.drawable.bg_bottom_hover); btnSecond.setImageResource(R.drawable.btn_live_down); } else { btnThird.setBackgroundResource(R.drawable.bg_bottom_hover); btnThird.setImageResource(R.drawable.btn_live_down); } if (curGameState == GAME_STATE_ONGOING || curGameState == GAME_STATE_NOT_START) { findViewById(R.id.layout_title_btn).setVisibility(View.VISIBLE); } break; case INDEX_STATISTIC: mLayoutScoreBar.setVisibility(View.VISIBLE); if (i_staticIndex == R.id.btn_second) { btnSecond.setBackgroundResource(R.drawable.bg_bottom_hover); btnSecond.setImageResource(R.drawable.btn_statistics_hover); } else { btnThird.setBackgroundResource(R.drawable.bg_bottom_hover); btnThird.setImageResource(R.drawable.btn_statistics_hover); } findViewById(R.id.btn_land).setVisibility(View.VISIBLE); findViewById(R.id.layout_title_btn).setVisibility(View.GONE); registSetting(); if (Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) != 0) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); break; case INDEX_CHAT: mLayoutScoreBar.setVisibility(View.VISIBLE); btnChat.setBackgroundResource(R.drawable.bg_bottom_hover); btnChat.setImageResource(R.drawable.btn_chat_down); findViewById(R.id.layout_title_btn).setVisibility(View.GONE); findViewById(R.id.btn_sent).setVisibility(View.VISIBLE); break; case INDEX_PLAYER_RATING: mLayoutScoreBar.setVisibility(View.GONE); // btnRating.setBackgroundResource(R.drawable.bg_bottom_hover); // btnRating.setImageResource(R.drawable.btn_rating_hover); break; case INDEX_QUIZ: mLayoutScoreBar.setVisibility(View.GONE); btnQuiz.setBackgroundResource(R.drawable.bg_bottom_hover); btnQuiz.setImageResource(R.drawable.btn_tag_guess_down); findViewById(R.id.gold_num).setVisibility(View.VISIBLE); findViewById(R.id.layout_title_btn).setVisibility(View.GONE); imgRedPiont.setVisibility(View.GONE); break; } } /** 根据默认标签跳转到不同的页面 */ private void switchTab() { if (mDefaultTab.equals(TAB_GUESS)) { treatClickEvent(R.id.btn_quiz); } else if (mDefaultTab.equals(TAB_BOXSCORE)) treatClickEvent(R.id.btn_third); else if (mDefaultTab.equals(TAB_CHAT)) { treatClickEvent(R.id.btn_chat); } else if (mDefaultTab.equals(TAB_REPORT)) treatClickEvent(R.id.btn_first); else treatClickEvent(R.id.btn_second);// 直播 } @Override public void treatClickEvent(int id) { super.treatClickEvent(id); UMENG_MAP.clear(); // showRoomAction(); if (id == i_liveIndex) { if (curFragmentIndex != INDEX_LIVE) {//从其他tab点击到直播 // setRoomTitle(curRoomtitle); // setRoomOnlineNum(curRoomOnline); setBackgound(INDEX_LIVE); // mPager.setCurrentItem(INDEX_LIVE, true); replaceContent(INDEX_LIVE); mFragmentLive.entry(); if (!bHasLiveData) { // 初次进入该页面需要获取全部的实时播报信息 if (curGameState == GAME_STATE_ONGOING)// 进行中 { sortId = HuPuRes.REQ_METHOD_GET_PLAY_LIVE_DESC; req_room_http(roomid); } else { sortId = HuPuRes.REQ_METHOD_GET_PLAY_LIVE_ASC; req_room_http(roomid); } } else { mFragmentLive.setPreview(roomPreview); if (roomPreview != null && !"".equals(roomPreview)) { // 设置前瞻 mFragmentLive.setURL(roomPreview); } bJoinRoom = true; // 加入前设置最后一条消息id if (lastLiveID > 0) setJsonObj(BaseEntity.KEY_PID, lastLiveID); // 如果是有竞猜的比赛,需要加入所有为关闭的竞猜id setJsonObj("qids", mFragmentLive.getQids()); setJsonObj("roomid", roomid); joinRoom(HuPuRes.ROOM_PLAYBYPLAY); } setScreenLight(true); } curFragmentIndex = INDEX_LIVE; } else if (id == i_staticIndex) { if (curFragmentIndex != INDEX_STATISTIC) { txtTitle.setText(R.string.title_statistic); setBackgound(INDEX_STATISTIC); replaceContent(INDEX_STATISTIC); if (!bHasStatisticData || (bEnd && !getBoxEndData)) { mParams.put(BaseEntity.KEY_VERTICAL, "" + true); reqHttp(HuPuRes.REQ_METHOD_BOX_SCORE); } else if (curGameState != GAME_STATE_END) { setJsonObj("roomid", roomid); joinRoom(HuPuRes.ROOM_NBA_BOXSCORE); bJoinRoom = true; } findViewById(R.id.btn_land).setVisibility(View.VISIBLE); if (curGameState == GAME_STATE_ONGOING || curGameState == GAME_STATE_NOT_START) findViewById(R.id.layout_title_btn) .setVisibility(View.GONE); // mFragmentStatistic.entry(); } curFragmentIndex = INDEX_STATISTIC; } switch (id) { case R.id.btn_first: if (curFragmentIndex != INDEX_REPORT) { txtTitle.setText(R.string.title_report); setBackgound(INDEX_REPORT); replaceContent(INDEX_REPORT); if (bMatchDay || !bHasReportData) reqHttp(HuPuRes.REQ_METHOD_GET_RECAP); } curFragmentIndex = INDEX_REPORT; break; case R.id.btn_chat: if (curFragmentIndex != INDEX_CHAT) { txtTitle.setText(R.string.title_chat); setBackgound(INDEX_CHAT); replaceContent(INDEX_CHAT); mFragmentChat.entry(roomid); bJoinRoom = true; // 一直常亮 setScreenLight(true); } curFragmentIndex = INDEX_CHAT; break; case R.id.btn_quiz: txtTitle.setText(R.string.quiz_list_tiele); setBackgound(INDEX_QUIZ); replaceContent(INDEX_QUIZ); curFragmentIndex = INDEX_QUIZ; break; case R.id.btn_back: finish(); break; case R.id.btn_follow: setFollow(); break; case R.id.btn_play: if (movieUrl == null || movieUrl.equals("")) showToast("暂无视频直播"); else { Intent in = new Intent(this, WebViewActivity.class); in.putExtra("url", movieUrl); startActivity(in); } break; case R.id.btn_home_land: if (mDataLandAdapter != null) { mDataLandAdapter.changeMode(0); if (mDataLandAdapter.getCount() > 0) mListLandPlayer.setSelection(0); } setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); btnHome.setBackgroundColor(clrOn); btnAway.setBackgroundColor(clrOff); if (txtTeamName != null && mEntityGame != null && mEntityGame.str_home_name != null) txtTeamName.setText(mEntityGame.str_home_name); break; case R.id.btn_away_land: if (mDataLandAdapter != null) { mDataLandAdapter.changeMode(1); if (mDataLandAdapter.getCount() > 0) mListLandPlayer.setSelection(0); } setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); btnHome.setBackgroundColor(clrOff); btnAway.setBackgroundColor(clrOn); if (txtTeamName != null && mEntityGame != null && mEntityGame.str_away_name != null) txtTeamName.setText(mEntityGame.str_away_name); break; case R.id.btn_land: // setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER); // switchToLandMode(); // showToast("翻转查看"); showTipsDialog(); break; case R.id.btn_close: closeDialog(); break; case R.id.btn_sent: Intent in = new Intent(this, ChatInputActivity.class); in.putExtra("tag", "NBA"); in.putExtra("roomid", roomid); startActivityForResult(in, REQ_SEND_MSG); toChat = true; break; case R.id.gold_num: if (mToken == null) { showBindDialog(SharedPreferencesMgr.getString("dialogBtnText", getString(R.string.casino_notify))); // dialog(this, SharedPreferencesMgr.getString("dialogRecharge", // getString(R.string.casino_notify))); } else { Intent info = new Intent(this, HupuOrderActivity.class); startActivity(info); } break; case R.id.img_team_right: if (mEntityGame.i_away_tid < 31) { sendUmeng(HuPuRes.UMENG_EVENT_NBA_TEAMS, HuPuRes.UMENG_KEY_ENTRANCE, HuPuRes.UMENG_VALUE_NBA_SCORE_CARD); Intent right = new Intent(this, NBATeamActivity.class); right.putExtra("tid", mEntityGame.i_away_tid); startActivity(right); } break; case R.id.img_team_left: if (mEntityGame.i_home_tid < 31) { sendUmeng(HuPuRes.UMENG_EVENT_NBA_TEAMS, HuPuRes.UMENG_KEY_ENTRANCE, HuPuRes.UMENG_VALUE_NBA_SCORE_CARD); Intent left = new Intent(this, NBATeamActivity.class); left.putExtra("tid", mEntityGame.i_home_tid); startActivity(left); } break; // case R.id.title_room_switch: // case R.id.txt_title: case R.id.layout_live_title: if(curFragmentIndex == INDEX_LIVE){ if(mRoomView.getVisibility()==View.GONE) { reqRoomlist(); } else { hideRoomAction(); selectDefaultRoom(); title_room_switch.setImageResource(R.drawable.icon_arrow_up_live); } } break; case R.id.choose_room_dialog: if(curFragmentIndex == INDEX_LIVE){ hideRoomAction(); selectDefaultRoom(); title_room_switch.setImageResource(R.drawable.icon_arrow_up_live); } break; } } public void selectDefaultRoom() { if(livefirstIn) { req_room_http(roomid); livefirstIn = false; } } /** 设置球队比分 需要翻牌,这个逻辑就需要先判断比分的变换了。 */ private void setSore(int homeScore, int awayScore) { if (homeScore > 0 || awayScore > 0) txtScore.setText(homeScore + " - " + awayScore); // HupuLog.d("setsore", "s="+homeScore); } /** 更新比赛过程的标题信息 */ private void updateProccess(String s) { if (s != null && curGameState != GAME_STATE_NOT_START) txtProcess.setText(s); } /** 请求热线数据,每页20条 */ public void reqChatData(int id) { UMENG_MAP.clear(); setJsonObj("type", "nba"); setJsonObj("num", 20); setJsonObj("roomid", roomid); if (id > 0) { setJsonObj("pid", id); setJsonObj("direc", "prev"); } else { // 重新获取最新的聊天记录,不传偏移量 setJsonObj("pid", ""); setJsonObj("direc", "next"); lastChatID = 0; } if (mToken != null) setJsonObj("tk", "mToken"); joinRoom(HuPuRes.ROOM_NBA_CHAT); } @Override public void onSocketConnect() { // Log.d("HupuDataActivity", "onSocketConnect >>>>>>:::::"); super.onSocketConnect(); // 连接成功了,加入room。 joinRoom(); mApp.setNetState(HuPuApp.STATE_CONNECTED); setNetTitle(); } @Override public void onSocketDisconnect() { // Log.d("HupuDataActivity", "onSocketDisconnect >>>>>>:::::" // + android.os.Process.myPid()); super.onSocketDisconnect(); mApp.setNetState(HuPuApp.STATE_DISCONNECT); setNetTitle(); // if (bJoinRoom) // reconnect(false); updateNetState(); } @Override public void onSocketError(Exception socketIOException) { super.onSocketError(socketIOException); if (curFragmentIndex == INDEX_LIVE) { mFragmentLive.stopLoad(); } else if (curFragmentIndex == INDEX_CHAT) { mFragmentChat.stopLoad(); } mApp.setNetState(HuPuApp.STATE_NET_ERR); setNetTitle(); reconnect(false); } private boolean bottombarVisible = false; private void showBottomBar() { if (findViewById(R.id.layout_bottom) != null) { findViewById(R.id.layout_bottom).setVisibility(View.VISIBLE); bottombarVisible = true; } } @Override public void onSocketResp(JSONObject obj) { Log.d("nbaactivity", "onSocketResp >>>>>>:::::"+obj.toString()); if (!bottombarVisible) { showBottomBar(); } if (obj != null) { try { String room = obj.optString("room"); if (HuPuRes.ROOM_USER_NOTIFY.equals(room)) { final PushNotify notify = new PushNotify(); notify.paser(obj); if (notify.gid == gid && notify.lid == lid&&(notify.roomid == roomid || notify.roomid == -1)) { // mFragmentLive.showPop(notify.qid); mQid = notify.qid; if (curFragmentIndex != INDEX_QUIZ) { if (mToken != null) imgRedPiont.setVisibility(View.VISIBLE); } else { getQuizList(); } if (mToken != null) startAnim(notify.coin); } return; } int status = obj.optInt(BaseEntity.KEY_STATUS, -1); int gd = obj.optInt(BaseEntity.KEY_GAME_ID, -1); // Log.d("HupuDataActivity", "onSocketResp >>>>>>::::: gid" // + gd); if (gd != gid) return; if (status > -1 && status != curGameState) { curGameState = status; setViewByStatus(false); } if (HuPuRes.ROOM_NBA_BOXSCORE.equals(room)) { if (curGameState == GAME_STATE_END) { bEnd = true; getBoxEndData = true; } // 统计 BoxScoreResp data = new BoxScoreResp(); data.paser(obj); bid = obj.optInt("bid", -1); // 更新消息id if (bid > 0) setJsonObj("bid", bid); setSore(data.i_scoreHome, data.i_scoreAway); updateProccess(data.str_process); mFragmentStatistic.updateData(data); mFragmentStatistic.updateBoxScoreData(mBoxscoreData); if (isLandMode) mDataLandAdapter.setData(mBoxscoreData); } else if (HuPuRes.ROOM_NBA_PLAYBYPLAY_CASINO.equals(room)) { if (curGameState == GAME_STATE_END) { bEnd = true; getLiveEndData = true; } // 直播 NBALiveResp data = new NBALiveResp(); data.paser(obj); if (curFragmentIndex == INDEX_LIVE && data.people_num != null) { // txtTitle.setText("直播(" + data.online + "人)"); boolean isShowRoomlist = false; boolean isShow = false; if (data.roomList != null) { isShow = data.roomList!=null&&data.roomList.size()>1?true:false; if (data.is_enter == 0&&isShow) { isShowRoomlist = true; }else{ isShowRoomlist = false; } } setRoomOnlineNum(String.format(this.live_online, data.people_num),isShowRoomlist); } mFragmentLive.stopLoad(); if (data.bHasData) { if (data.i_pId > lastLiveID && data.i_pId > -1) mFragmentLive.updateData(data); } else if (data.casinoList != null) { Log.d("bHasData", "no data"); mFragmentLive.updateData(data); } if (data.i_pId > -1 && data.i_pId > lastLiveID) { lastLiveID = data.i_pId; // 更新消息id setJsonObj(BaseEntity.KEY_PID, data.i_pId); } if (data.scoreBoard != null) { setSore(data.scoreBoard.i_scoreHome, data.scoreBoard.i_scoreAway); updateProccess(data.scoreBoard.str_process); } if(data.giftList!=null && data.giftList.size()>0){ pushUpdataGift(data.giftList); } } else if (HuPuRes.ROOM_PLAYBYPLAY.equals(room)) { if (curGameState == GAME_STATE_END) { bEnd = true; getLiveEndData = true; } // 直播 NBALiveResp data = new NBALiveResp(); data.paser(obj); if (curFragmentIndex == INDEX_LIVE && data.people_num != null) // txtTitle.setText("直播(" + data.people_num + "人)"); setRoomOnlineNum(String.format(this.live_online, data.people_num),true); mFragmentLive.stopLoad(); if (data.bHasData) { if (data.i_pId > lastLiveID && data.i_pId > -1) mFragmentLive.updateData(data); } else if (data.casinoList != null) { Log.d("bHasData", "no data"); mFragmentLive.updateData(data); } if (data.i_pId > -1 && data.i_pId > lastLiveID) { lastLiveID = data.i_pId; // 更新消息id setJsonObj(BaseEntity.KEY_PID, data.i_pId); } if (data.scoreBoard != null) { setSore(data.scoreBoard.i_scoreHome, data.scoreBoard.i_scoreAway); updateProccess(data.scoreBoard.str_process); } if(data.giftList!=null && data.giftList.size()>0){ pushUpdataGift(data.giftList); } } else if (HuPuRes.ROOM_NBA_CHAT.equals(room)) { // 热线 ChatResp data = new ChatResp(); data.paser(obj); mFragmentChat.stopLoad(); if (data.mList != null) { if (data.direc.equals("next") && data.pid > 0 && data.pid <= lastChatID) return; } mFragmentChat.setData(data,roomid); lastChatID = mFragmentChat.getLastId(); if (curFragmentIndex == INDEX_CHAT && data.online != null) txtTitle.setText("热线(" + data.online + "人)"); if (data.score != null) setSore(data.score.i_scoreHome, data.score.i_scoreAway); updateProccess(data.score.str_process); } } catch (Exception e) { e.printStackTrace(); } } mApp.setNetState(HuPuApp.STATE_ON_LINE); setNetTitle(); } /** 横屏时统计列表的标题 **/ private TextView[] txtHeaders; /** 横屏时统计列表 **/ private ListView mListLandPlayer; /** 横屏时统计列表的适配器 **/ private GameDataListLandAdapter mDataLandAdapter; /** 横屏时主队名字 **/ TextView txtHome; /** 横屏时客队名 **/ TextView txtAway; /** 横屏时主队logo **/ ImageView imgHome; /** 横屏时客队logo **/ ImageView imgAway; /** 横屏时主队分割线 **/ View lineHome; /** 横屏时客队分割线 **/ View lineAway; /** 横屏时主队按钮 **/ View btnHome; /** 横屏时客队按钮 **/ View btnAway; /** 横屏时列表标题栏球队名 **/ private TextView txtTeamName; /** 颜色值 **/ private int clrOn; private int clrOff; /** 用代码处理屏幕翻转的逻辑 */ @Override public void lockScreenRotation(int orientation) { // Stop the screen orientation changing during an event switch (orientation) { case Configuration.ORIENTATION_PORTRAIT: // setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); if (isLandMode) { switchToPortraitMode(); // setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); } break; case Configuration.ORIENTATION_LANDSCAPE: if (curFragmentIndex == INDEX_STATISTIC) { if (Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) == 0) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // Log.d("lockScreenRotation", "lockScreenRotation"); return; } if (!isLandMode) { switchToLandMode(); } setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); } break; default: this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); break; } } /** 切换到水平模式 **/ public void switchToLandMode() { isLandMode = true; vPortrait.setVisibility(View.GONE); vLandscape.setVisibility(View.VISIBLE); closeDialog(); if (txtHome == null) { txtHome = (TextView) findViewById(R.id.txt_home_land); txtAway = (TextView) findViewById(R.id.txt_away_land); imgHome = (ImageView) findViewById(R.id.img_home_land); imgAway = (ImageView) findViewById(R.id.img_away_land); btnHome = findViewById(R.id.btn_home_land); btnAway = findViewById(R.id.btn_away_land); setOnClickListener(R.id.btn_home_land); setOnClickListener(R.id.btn_away_land); txtHome.setText(mEntityGame.str_home_name); txtAway.setText(mEntityGame.str_away_name); lineHome = findViewById(R.id.line_home); lineAway = findViewById(R.id.line_away); lineHome.setBackgroundColor(HuPuApp .getTeamData(mEntityGame.i_home_tid).i_color); lineAway.setBackgroundColor(HuPuApp .getTeamData(mEntityGame.i_away_tid).i_color); if (mEntityGame.home_logo != null) UrlImageViewHelper.setUrlDrawable(imgHome, mEntityGame.home_logo, R.drawable.bg_home_nologo); else imgHome.setImageResource(HuPuApp .getTeamData(mEntityGame.i_home_tid).i_logo_small); if (mEntityGame.away_logo != null) UrlImageViewHelper.setUrlDrawable(imgAway, mEntityGame.away_logo, R.drawable.bg_home_nologo); else imgAway.setImageResource(HuPuApp .getTeamData(mEntityGame.i_away_tid).i_logo_small); clrOn = getResources().getColor(R.color.dark_gray); clrOff = getResources().getColor(R.color.res_cor6); } if (txtHeaders == null) initLand(); if (mBoxscoreData != null) { mDataLandAdapter.setData(mBoxscoreData); } setFullScreen(); } /** 统计数据 **/ public BoxscoreDatas mBoxscoreData; /** 切换到竖直模式 **/ public static class BoxscoreDatas { public ArrayList<PlayerEntity> mListPLay; public ArrayList<String> mListPLayerNames; /** 横屏模式的key */ public ArrayList<String> mListKeys; // 横屏Titles public ArrayList<String> mTitles; public int i_homeSize; public LinkedHashMap<String, String> mMapHomeTotal; public LinkedHashMap<String, String> mMapAwayTotal; // 主队命中率 public String str_home_fg; public String str_home_tp; public String str_home_ft; // 客队命中率 public String str_away_fg; public String str_away_tp; public String str_away_ft; } /** 初始化水平状态的一些view **/ private void initLand() { // if (curFragmentIndex == INDEX_STATISTIC) { // findViewById(R.id.btn_land).setVisibility(View.VISIBLE); // findViewById(R.id.layout_title_btn).setVisibility(View.GONE); // } else { // findViewById(R.id.btn_land).setVisibility(View.GONE); // findViewById(R.id.layout_title_btn).setVisibility(View.VISIBLE); // } if (txtHeaders == null && mBoxscoreData != null) { txtTeamName = (TextView) findViewById(R.id.txt_name_land); LinearLayout headView = (LinearLayout) findViewById(R.id.layout_header_land); headView.setVisibility(View.VISIBLE); txtHeaders = new TextView[mBoxscoreData.mListKeys.size()]; LinearLayout.LayoutParams llp = null; LayoutInflater in = LayoutInflater.from(this); String key = null; for (int i = 0; i < txtHeaders.length; i++) { txtHeaders[i] = (TextView) in.inflate( R.layout.static_header_land, null); txtHeaders[i].setText(mBoxscoreData.mTitles.get(i)); key = mBoxscoreData.mListKeys.get(i); // 计算间距 if (key.equals("fg") || key.equals("ft") || key.equals("tp")) llp = new LinearLayout.LayoutParams(0, -1, 10); else if (key.equals("mins") || key.equals("pts")) llp = new LinearLayout.LayoutParams(0, -1, 7); else llp = new LinearLayout.LayoutParams(0, -1, 5); headView.addView(txtHeaders[i], llp); } mListLandPlayer = (ListView) findViewById(R.id.list_players_land); mDataLandAdapter = new GameDataListLandAdapter(this); mListLandPlayer.setAdapter(mDataLandAdapter); txtTeamName.setText(mEntityGame.str_home_name); setOnItemClick(mListLandPlayer); } } /** 切换到竖直模式 **/ public void switchToPortraitMode() { isLandMode = false; vPortrait.setVisibility(View.VISIBLE); vLandscape.setVisibility(View.GONE); quitFullScreen(); } @Override public void treatItemClick(AdapterView<?> list, View v, int pos, long arg3) { super.treatItemClick(list, v, pos, arg3); if (list == mListLandPlayer) { PlayerEntity data = (PlayerEntity) mDataLandAdapter.getItemAt(pos); if (data != null) { int id = -1; try { id = Integer.parseInt(data.str_player_id); } catch (NumberFormatException e) { e.printStackTrace(); } if (id > 0) { Intent in = new Intent(this, NBAPlayerInfoActivity.class); in.putExtra("pid", id); startActivity(in); } } } } DecimalFormat df = new DecimalFormat("0.0"); /** * 跳转到竞猜列表页 * */ private void switchToGuessActivity() { if (bets != null) { Intent in = new Intent(this, QuizListActivity.class); in.putExtra("lid", lid); in.putExtra("gid", gid); if (mQid > -1) in.putExtra("qid", mQid); in.putExtra("bets", bets); startActivityForResult(in, HupuBaseActivity.REQ_SHOW_QUIZLIST); mQid = -1; } // 重置掉qid 防止重复定位 } private boolean isShowPop; int[] bets; public void showPop(int q) { mQid = q; isShowPop = true; } public void hidePop() { isShowPop = false; } public void switchToRating() { Intent in = new Intent(this, PlayersRatingActivity.class); in.putExtra("gid", "" + gid); startActivity(in); } /***********************房间相关*****************************/ /** * 请求房间列表 */ private void req_room_http(int id) { if (sortId == HuPuRes.REQ_METHOD_GET_PLAY_LIVE_DESC) mParams.put("sort", "desc"); else mParams.put("sort", "asc"); roomid = id; mParams.put("roomid", roomid+""); reqHttp(sortId); } /** * 初始化房间列表和礼物 view */ private void initRoomAndGift() { eAnimation = new EpandDownAnimation(this,new EpandCallBack()); title_layout = (RelativeLayout)findViewById(R.id.layout_live_title); mRoomView = (LinearLayout) findViewById(R.id.choose_room_dialog); mRoomListView = (ListView) findViewById(R.id.list_room); mRoomListAdapter = new RoomListAdapter(this, click); } private void setRoomList(final ArrayList<RoomEntity> roomList,int default_id){ mRoomListAdapter.setData(roomList); mRoomListAdapter.setDefaultId(default_id); mRoomListView.setAdapter(mRoomListAdapter); mRoomListAdapter.notifyDataSetChanged(); mRoomListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub RoomEntity roomEntity = (roomList == null || roomList.get(position)==null)?null:roomList.get(position); if(roomEntity!=null) { req_room_http(roomList.get(position).id); setRoomTitle(roomEntity.name); setRoomOnlineNum(String.format(live_online, roomEntity.count),true); } hideRoomAction(); } }); } private void setRoomTitle(String title){ if(curRoomtitle == null){ curRoomtitle = this.getString(R.string.title_select_room); } this.curRoomtitle = title; txtTitle.setText(curRoomtitle); } private void setRoomOnlineNum(String num,boolean isShow){ if(isShow){ room_people_numTextView.setVisibility(View.VISIBLE); } room_people_numTextView.setText(num); curRoomOnline = num; } private EpandDownAnimation eAnimation; public void showRoomAction() { if(eAnimation==null) { return; } if(mRoomView.getVisibility()==View.VISIBLE) { // mRoomView.setVisibility(View.VISIBLE); hideRoomAction(); } else { eAnimation.startAction_TopToBottom(findViewById(R.id.list_room),mRoomView); } } public void hideRoomAction() { if(eAnimation==null) { return; } eAnimation.finishAction(findViewById(R.id.list_room),mRoomView); } @SuppressLint("ResourceAsColor") private void switchRoomStatus(int curtab,boolean isShowAction) { if(curtab == INDEX_LIVE) { title_room_switch.setVisibility(View.VISIBLE); if(isShowAction){ room_people_numTextView.setVisibility(View.GONE); setRoomTitle(getString(R.string.title_select_room)); } else{ setRoomTitle(curRoomtitle); setRoomOnlineNum(curRoomOnline,true); } if(mRoomView==null) { return; } if(mRoomView.getVisibility()==View.VISIBLE ) { // txtTitle.setTextColor(this.getResources().getColor(R.color.txt_title_live_color)); // room_people_numTextView.setTextColor(this.getResources().getColor(R.color.txt_title_live_color)); title_room_switch.setImageResource(R.drawable.icon_arrow_up_live); } else { txtTitle.setTextColor(this.getResources().getColor(android.R.color.white)); room_people_numTextView.setTextColor(this.getResources().getColor(android.R.color.white)); title_room_switch.setImageResource(R.drawable.icon_arrow_down_live); } } else//非直播tab { if(mRoomView!=null && mRoomView.getVisibility()==View.VISIBLE ){ mRoomView.setVisibility(View.GONE); } title_room_switch.setVisibility(View.GONE); room_people_numTextView.setVisibility(View.GONE); txtTitle.setTextColor(this.getResources().getColor(android.R.color.white)); } // livefirstIn=false; } /***********************礼物相关*****************************/ // GiftTipsDialog tipsDialog; // LinearLayout layGift; // public int hupuDollor; // AnimationTool animationTool; // public ArrayList<GiftEntity> giftList; // public ArrayList<View> giftTvList = new ArrayList<View>(); // boolean exit; // public final static int Msg_Show_Gift=1; // ArrayList<GiftReqDataEntity> sendlist = new ArrayList<GiftReqDataEntity>(); // int interval=1; // Handler mHandler; // final int LETTER_MAX_LINE=3; // final int CHAR_MAR_LINE=6; // private void initGift(final BaseLiveResp data,int tab,boolean fromResp){ // if(layGift == null){ // layGift= (LinearLayout)findViewById(R.id.layout_gift); // } // if(fromResp){ // layGift.removeAllViews(); // } // // if(tab != INDEX_LIVE){//非直播tab // // quitLive(); // layGift.setVisibility(View.GONE); // return; // } // if(data == null || data.giftList == null || data.giftList.size() == 0){ // return; // } // giftList = data.giftList; // roomid = data.default_room_id; // // reqBalance();//获取虎扑币 // initThread(); // initGiftList(); // animationTool = new AnimationTool(this,0); // } // // /** // * 收到push消息更新礼物按钮 // */ // private void updateGiftShow(Object obj,int i){ // int len = layGift.getChildCount(); // // for(int i=0;i<len;i++){ // GiftEntity ge=(GiftEntity)obj; // // RelativeLayout giftview = (RelativeLayout)layGift.getChildAt(i); // TextView txtSwitcher = (TextView)giftview.getChildAt(0); // TextView view = (TextView)giftview.getChildAt(1); // // int type=0; // // giftList.get(i).gift_name="dddeee";//test // if(ge.gift_name != null && ge.gift_name.length()>0){ // type = isChineseEnglish(ge.gift_name.charAt(0)); // } // // String bttxt=ge.gift_name; // if(type == 0 && ge.gift_name.length()>LETTER_MAX_LINE){ // bttxt=ge.gift_name.substring(0, LETTER_MAX_LINE-1)+"\n"+ge.gift_name.substring(LETTER_MAX_LINE-1); // }else if(type != 0 && ge.gift_name.length()>CHAR_MAR_LINE){ // bttxt=ge.gift_name.substring(0, CHAR_MAR_LINE-2)+"\n"+ge.gift_name.substring(CHAR_MAR_LINE-2); // } // // view.setText(bttxt); // txtSwitcher.setText(ge.count+""); // // } // } // private void initGiftList(){ // // layGift.setVisibility(View.VISIBLE); // layGift.removeAllViews(); // // int len=giftList.size(); // for(int i=0;i<len;i++){ // GiftEntity gift = giftList.get(i); // View giftview = LayoutInflater.from(this).inflate(R.layout.item_live_room_gift, null); // TextView view=(TextView)giftview.findViewById(R.id.btn_gift_green); // TextView txtSwitcher = (TextView)giftview.findViewById(R.id.gift_total_1); // // int type=0; // // gift.gift_name="dddeeerrr";// // if(gift.gift_name != null && gift.gift_name.length()>0){ // type = isChineseEnglish(gift.gift_name.charAt(0)); // } // String bttxt=gift.gift_name; // if(type == 0 && gift.gift_name.length()>LETTER_MAX_LINE){ // bttxt=gift.gift_name.substring(0, LETTER_MAX_LINE-1)+"\n"+gift.gift_name.substring(LETTER_MAX_LINE-1); // }else if(type != 0 && gift.gift_name.length()>CHAR_MAR_LINE){ // bttxt=gift.gift_name.substring(0, CHAR_MAR_LINE-2)+"\n"+gift.gift_name.substring(CHAR_MAR_LINE-2); // } // // view.setText(bttxt); // view.setOnClickListener(new GiftClick(i)); // txtSwitcher.setText(gift.count+""); // layGift.addView(giftview); // if(i==1){ // view.setBackgroundResource(R.drawable.btn_gift_orange_selector); // view.setTextColor(this.getResources().getColor(R.color.txt_live_send_gift_bt_orange)); // txtSwitcher.setTextColor(this.getResources().getColor(R.color.txt_live_send_gift_bt_orange)); // } // } // } // public int isChineseEnglish(char c) { // if (c >= 0 && c <= 9) { // // 是数字 // return 4;//"是数字字符"; // } else if ((c >= 'a' && c <= 'z')) { // // 是小写字母 // return 3;//"是小写字母"; // }else if ((c >= 'A' && c <= 'z')) { // // 是大写字母 // return 2;//"是大写字母"; // } else if (Character.isLetter(c)) { // // 是汉字 // return 0;//"是汉字字符"; // } else { // // 是特殊符号 // return 1;//"是特殊符号"; // } // } // class GiftClick implements OnClickListener { // int index; // GiftClick(int index){ // this.index = index; // } // @Override // public void onClick(View v) { // checkSendGift(giftList.get(index)); // } // } // void checkSendGift(GiftEntity gift){ // //是否登录 // if (mToken == null) { // showBindDialog(SharedPreferencesMgr.getString("dialogBtnText", // getString(R.string.bind_phone_dialog))); // return; // } // //是否第一次送礼 // if(!SharedPreferencesMgr.getBoolean("sendGift", false)){ // firstSendNotice(gift); // SharedPreferencesMgr.setBoolean("sendGift", true); // return; // } // // // hupuDollor=0;//test // //虎扑币是否够 // if(gift.price > hupuDollor){ // hupuDollorLessNotice(); // return; // } // add2SendList(gift.gift_id,"",giftList.indexOf(gift)); // } // private void add2SendList(int giftid,String uid,int giftindex){ // int color=0; // if(giftindex == 0){ // color=R.color.txt_live_send_gift_bt_green; // }else { // color=R.color.txt_live_send_gift_bt_orange; // } // // animationTool.showAnimation(giftList.get(giftindex).gift_name,color); // this.hupuDollor-=giftList.get(giftindex).price; // giftList.get(giftindex).count+=giftList.get(giftindex).price; // // // this.sendMessage(giftindex, giftList.get(giftindex)); // // // GiftReqDataEntity object = new GiftReqDataEntity(); // object.setGiftid(giftid); // object.setUid(uid); // this.sendlist.add(object); // // // //test // // ArrayList<GiftEntity> list = new ArrayList<GiftEntity>(); // // for(int i=0;i<giftList.size();i++){ // // GiftEntity gift = new GiftEntity(); // // gift.gift_id = giftList.get(i).gift_id; // // gift.gift_name = giftList.get(i).gift_name; // // gift.count = giftList.get(i).count+100; // // list.add(gift); // // } // // pushUpdataGift(list); // } // private String getSendList(){ // String result = ""; // JSONObject jsonObject; // JSONArray jsonArray = new JSONArray(); // // for (int i = 0; i < sendlist.size(); i++) { // jsonObject = new JSONObject(); // try { // //jsonObject.put(leaguesEntities.get(i).lid + "", 1); // //注释说明:之前提交是否关注的信息! // jsonObject.put("giftid",sendlist.get(i).getGiftid()); // jsonObject.put("uid",sendlist.get(i).getUid()); // jsonArray.put(jsonObject); // // Log.i("papa", jsonObject.toString()); // } catch (Exception e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // } // result = jsonArray.toString(); // sendlist.clear(); // return result; // } // private void pushUpdataGift(ArrayList<GiftEntity> glist){ // for(int i=0;i<glist.size();i++){ // GiftEntity ge = glist.get(i); // GiftEntity localGe = giftList.get(i); // // // dealPushGiftCount(ge,localGe,i); // localGe.gift_name=ge.gift_name; // localGe.price = ge.price; // } // } // int push_gift_count_add_times=10;//1秒钟加的次数 // int push_gift_count_add_min=2;//push的count最小多少无需累加 // Thread gift_add_Thread; // private void dealPushGiftCount(GiftEntity ge ,final GiftEntity localGe,final int i){ // localGe.push_count = ge.count; // if((!localGe.gift_name.equals(ge.gift_name)) //名字修改了 // || (localGe.gift_name.equals(ge.gift_name) && ge.count -localGe.count >=0 && ge.count -localGe.count<=push_gift_count_add_min)){//名字没改但是增加的数量小于push_gift_count_add_min // localGe.count=ge.count; // this.sendMessage(i, localGe); // }else if(ge.count -localGe.count > push_gift_count_add_min){ // localGe.push_count_interadd = (localGe.push_count-localGe.count)/push_gift_count_add_times; // // localGe.count += localGe.push_count_interadd; // if(gift_add_Thread == null){ // gift_add_Thread = new Thread(new Runnable() { // @Override // public void run() { // while(!exit){ // if(localGe.count<localGe.push_count){ // localGe.count += localGe.push_count_interadd; // if(localGe.count > localGe.push_count){ // localGe.count = localGe.push_count; // } // sendMessage(i, localGe); // } // try { // Thread.sleep(1000/push_gift_count_add_times); // } catch (InterruptedException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // } // } // }); // gift_add_Thread.start(); // } // // } // } // void reqSendGift(){ // if(sendlist.size()==0) // { // return; // } // initParameter(); // mParams.put("gid", gid + ""); // mParams.put("roomid", roomid+""); // mParams.put("type", tag); // mParams.put("data", getSendList()); // sendRequest(HuPuRes.REQ_METHOD_GET_PLAY_LIVE_SEND_GIFT, mParams, // new HupuHttpHandler(NBAGameActivity.this), false); // } /** * TODO 点击选择房间时候 重新获取房间列表 * * * @return void */ public void reqRoomlist() { initParameter(); mParams.put("gid", gid + ""); mParams.put("lid", lid + ""); mParams.put("roomid", roomid+""); sendRequest(HuPuRes.REQ_METHOD_GET_PLAY_LIVE_ROOMLIST, mParams, new HupuHttpHandler(NBAGameActivity.this), false); } // private void initThread() { // HandlerThread thread = new HandlerThread("sendGiftService"); // thread.start(); // Looper looper = thread.getLooper(); // if(mHandler == null){ // mHandler = new Handler(looper); // } // mHandler.postDelayed(checkSer, interval); // } // private Runnable checkSer = new Runnable() { // @Override // public void run() { // reqSendGift(); // if(!exit){ // mHandler.postDelayed(checkSer, interval); // } // } // }; // public void sendMessage(int what, Object object) { // Message msg = new Message(); // msg.what = what; // msg.obj = object; // giftHandler.sendMessage(msg); // } // // Handler giftHandler = new Handler(){ // public void handleMessage(Message msg) { // // switch (msg.what) { // // case Msg_Show_Gift: // // HupuLog.e(tag, "handler-------------Msg_Show_Gift"); // // updateGiftShow(msg.obj,msg.what); // // break; // // // } // } // }; // private void quitLive(){ // exit=true; // if (animationTool !=null) { // animationTool.destroy(); // animationTool=null; // } // // } protected void onDestroy() { // // TODO Auto-generated method stub super.onDestroy(); // quitLive(); roomid = -1; } // private void reqBalance() { // if (mToken != null) { // initParameter(); // mParams.put("token", mToken); // sendRequest(HuPuRes.REQ_METHOD_GET_HUPUDOLLOR_BALANCE, mParams, // new HupuHttpHandler(this), false); // } // } // private void firstSendNotice(final GiftEntity gift) // { // String content = String.format(getString(R.string.live_first_send_gift_notice), gift.price); // tipsDialog = new GiftTipsDialog(this, new OnClickListener() { // @Override // public void onClick(View v) { // tipsDialog.dismiss(); // // TODO Auto-generated method stubW // if(v.getId()==GiftTipsDialog.BTN_OK_ID)//确定 // { // if(gift.price > hupuDollor){ // hupuDollorLessNotice(); // }else{ // add2SendList(gift.gift_id,"",giftList.indexOf(gift)); // } // } // // } // },content, GiftTipsDialog.DEFAULT); // tipsDialog.initData(content, TipsDialog.DEFAULT); // tipsDialog.initBtn(getString(R.string.title_confirm), getString(R.string.cancel)); // tipsDialog.show(); // } // private void hupuDollorLessNotice() // { // String content = this.getString(R.string.live_send_gift_hupudollr_insufficent); // tipsDialog = new GiftTipsDialog(this, new OnClickListener() { // // @Override // public void onClick(View v) { // tipsDialog.dismiss(); // // TODO Auto-generated method stubW // if(v.getId()==GiftTipsDialog.BTN_OK_ID)//确定 // { // Intent it = new Intent(NBAGameActivity.this,HupuDollorOrderActivity.class); // it.putExtra("hupuDollor_balance", hupuDollor+""); // startActivityForResult(it, REQ_GO_POST_ORDER); // } // // } // },content, GiftTipsDialog.DEFAULT); // tipsDialog.initData(content, TipsDialog.DEFAULT); // tipsDialog.initBtn(getString(R.string.title_confirm), getString(R.string.cancel)); // tipsDialog.show(); // } // @Override // protected void onActivityResult(int requestCode, int resultCode, Intent data) { // // TODO Auto-generated method stub // super.onActivityResult(requestCode, resultCode, data); // HupuLog.e("papa", "resultId==" + resultCode); // if (requestCode == REQ_GO_POST_ORDER) { // if (resultCode == RESULT_OK) { // this.reqBalance(); // // } // } // } class EpandCallBack implements EpandAnimationCallBack { @Override public void callBack(int type) { switchRoomStatus(INDEX_LIVE,livefirstIn); } } }