package com.hupu.games.activity;
import java.util.ArrayList;
import org.adver.score.scorewall.ScoreWallSDK;
import org.adver.score.sdk.YjfSDK;
import org.adver.score.sdk.widget.UpdateScordNotifier;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Html;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.hupu.games.R;
import com.hupu.games.common.HuPuRes;
import com.hupu.games.common.HupuLog;
import com.hupu.games.common.SharedPreferencesMgr;
import com.hupu.games.data.PrizeEntity;
import com.hupu.games.data.SSLKey;
import com.hupu.games.data.account.TaskEntity;
import com.hupu.games.data.account.UserBetInfoReq;
import com.hupu.games.data.task.TaskRewardEntity;
import com.hupu.games.pay.HupuOrderActivity;
import com.hupu.http.HupuHttpHandler;
import com.koushikdutta.urlimageviewhelper.UrlImageViewHelper;
/**
* “我”的页面
* */
@SuppressLint("NewApi")
public class UserGoldInfoActivity extends HupuBaseActivity implements
UpdateScordNotifier {
private TextView txtBoxNum, guessResult;
// ImageView img_nick;
boolean byMan;
private int money = 0;
String CoinNum = "0";
int resumeNum = 0;
/** 余额 */
TextView txtBalance;
LinearLayout prizeLayout, taskLayout;
View mView;
int viewWidth = 0, viewHeight = 0;
ProgressBar guessBar, goldBar;
private ProgressBar getRewardBar;
String guessMark = "";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_gold_info);
setOnClickListener(R.id.btn_back);
setOnClickListener(R.id.layout_guess_result);
setOnClickListener(R.id.layout_coin);
setOnClickListener(R.id.layout_pay);
setOnClickListener(R.id.coin_prize);
setOnClickListener(R.id.my_prize_txt);
setOnClickListener(R.id.today_task_layout);
txtBoxNum = (TextView) findViewById(R.id.txt_box_num);
prizeLayout = (LinearLayout) findViewById(R.id.coin_prize);
taskLayout = (LinearLayout) findViewById(R.id.today_task_layout);
guessResult = (TextView) findViewById(R.id.guess_result);
txtBalance = (TextView) findViewById(R.id.txt_coin_num);
guessBar = (ProgressBar) findViewById(R.id.guess_Porgress);
goldBar = (ProgressBar) findViewById(R.id.gold_Porgress);
getRewardBar = (ProgressBar) findViewById(R.id.load_progress);
getRewardBar.setVisibility(View.GONE);
if (SharedPreferencesMgr.getInt("show_mall", 0) == 0)
findViewById(R.id.show_mall).setVisibility(View.GONE);
else
findViewById(R.id.show_mall).setVisibility(View.VISIBLE);
}
@Override
protected void onStop() {
super.onStop();
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
mView = getLayoutInflater().inflate(R.layout.item_coin_prize, null);
viewWidth = mView.getWidth();
viewHeight = mView.getHeight();
}
@Override
public void treatClickEvent(int id) {
switch (id) {
case R.id.btn_back:
finish();
break;
case R.id.layout_pay:
if (mToken == null) {
showBindDialog(SharedPreferencesMgr.getString("dialogQuize",
getString(R.string.bind_phone_dialog)));
// dialog(this,SharedPreferencesMgr.getString("dialogQuize",
// getString(R.string.bind_phone_dialog)));
} else {
Intent order = new Intent(this, HupuOrderActivity.class);
order.putExtra("balance", money);
startActivityForResult(order, REQ_GO_CHARGE);
}
break;
// case R.id.layout_box:
// Intent box = new Intent(this, MyBoxActivity.class);
// startActivityForResult(box, REQ_SHOW_BOX);
// break;
case R.id.my_prize_txt:// 我的奖品
if (mToken == null) {
showBindDialog(SharedPreferencesMgr.getString("dialogMyPrize",
getString(R.string.bind_phone_dialog)));
// dialog(this,SharedPreferencesMgr.getString("dialogMyPrize",
// getString(R.string.bind_phone_dialog)));
} else {
sendUmeng(HuPuRes.UMENG_EVENT_MALL, HuPuRes.UMENG_KEY_MY_AWARD,
HuPuRes.UMENG_VALUE_FROM_MY_PAGE);
Intent myPrize = new Intent(this, MyPrizeListActivity.class);
startActivity(myPrize);
}
break;
case R.id.coin_prize:
sendUmeng(HuPuRes.UMENG_EVENT_MALL, HuPuRes.UMENG_KEY_AWARD_LIST,
HuPuRes.UMENG_VALUE_FROM_MY_PAGE);
Intent coinPrize = new Intent(this, ExchangeListActivity.class);
startActivity(coinPrize);
break;
case R.id.layout_coin:
if (mToken == null) {
showBindDialog(SharedPreferencesMgr.getString("dialogBtnText",
getString(R.string.bind_phone_dialog)));
// dialog(this,SharedPreferencesMgr.getString("dialogQuize",
// getString(R.string.bind_phone_dialog)));
} else {
Intent coinIntent = new Intent(this, UserGoldActivity.class);
startActivity(coinIntent);
}
break;
case R.id.layout_guess_result:
if (mToken == null) {
showBindDialog(SharedPreferencesMgr.getString("dialogQuize",
getString(R.string.bind_phone_dialog)));
// dialog(this,SharedPreferencesMgr.getString("dialogQuize",
// getString(R.string.bind_phone_dialog)));
} else {
Intent myGuessIntent = new Intent(this,
MyQuizListActivity.class);
myGuessIntent.putExtra("guess_mark", guessMark);
startActivity(myGuessIntent);
}
break;
case R.id.today_task_layout:
if (mToken == null) {
showBindDialog(SharedPreferencesMgr.getString("dialogTask",
getString(R.string.bind_phone_dialog)));
// dialog(this,SharedPreferencesMgr.getString("dialogTask",
// getString(R.string.bind_phone_dialog)));
}
break;
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN) {
finish();
}
return false;
}
public void onResume() {
super.onResume();
reqBetInfo();
}
@Override
public void onLoginSuccess() {
// TODO Auto-generated method stub
super.onLoginSuccess();
reqBetInfo();
HupuLog.e("papa", "loginSuccess");
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
// reqBetInfo();
}
private void setRedPoint(ArrayList<String> redList){
findViewById(R.id.guess_red_point).setVisibility(View.GONE);
findViewById(R.id.gold_red_point).setVisibility(View.GONE);
findViewById(R.id.my_prize_red_point).setVisibility(View.GONE);
for (String red:redList) {
if (red.contains("coin.caisno")) //竞猜
findViewById(R.id.guess_red_point).setVisibility(View.VISIBLE);
if (red.contains("coin.store")) //金币商城
findViewById(R.id.gold_red_point).setVisibility(View.VISIBLE);
if (red.contains("coin.prize")) //奖品
findViewById(R.id.my_prize_red_point).setVisibility(View.VISIBLE);
}
}
@SuppressWarnings("unused")
@Override
public void onReqResponse(Object o, int methodId) {
super.onReqResponse(o, methodId);
if (methodId == HuPuRes.REQ_METHOD_GET_BETINFO) {
if (o != null) {
UserBetInfoReq info = (UserBetInfoReq) o;
//小红点
if (info.reddotList !=null) {
setRedPoint(info.reddotList);
}
if (info.box != 0) {
txtBoxNum.setText("" + info.box);
findViewById(R.id.user_box_icon)
.setVisibility(View.VISIBLE);
} else {
txtBoxNum.setText("");
findViewById(R.id.user_box_icon).setVisibility(View.GONE);
}
guessMark = info.win != 0 || info.lose != 0 ? info.win + "胜 "
+ info.lose + "负" : "";
guessResult.setText(guessMark);
txtBalance.setText(info.balance + "");
findViewById(R.id.gold_icon).setVisibility(View.VISIBLE);
if (info.balance == 0) {
CoinNum = "0";
} else if (info.balance > 0 && info.balance < 10) {
CoinNum = "<10";
} else if (info.balance >= 10 && info.balance < 100) {
CoinNum = "10-100";
} else if (info.balance >= 100 && info.balance < 1000) {
CoinNum = "100-1000";
} else if (info.balance >= 1000) {
CoinNum = ">1000";
}
guessBar.setVisibility(View.GONE);
goldBar.setVisibility(View.GONE);
if (info.prizeList != null && info.prizeList.size() > 0) {
prizeLayout.removeAllViews();
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
viewWidth, LinearLayout.LayoutParams.WRAP_CONTENT,
1);
lp.setMargins(0, 0, 12, 0);
for (int i = 0; i < info.prizeList.size(); i++) {
final PrizeEntity prize = info.prizeList.get(i);
View mView = getLayoutInflater().inflate(
R.layout.item_coin_prize, null);
switch (prize.type) {
case 0:
mView.findViewById(R.id.prize_status)
.setVisibility(View.GONE);
break;
case 1:
((ImageView) mView.findViewById(R.id.prize_status))
.setBackgroundResource(R.drawable.icon_myaccount_new);
break;
case 2:
((ImageView) mView.findViewById(R.id.prize_status))
.setBackgroundResource(R.drawable.icon_myaccount_hot);
break;
case 3:
((ImageView) mView.findViewById(R.id.prize_status))
.setBackgroundResource(R.drawable.icon_myaccount_limit);
break;
default:
break;
}
UrlImageViewHelper
.setUrlDrawable(((ImageView) mView
.findViewById(R.id.prize_img)),
prize.img_small,
R.drawable.bg_mall_no_pic_s);
((TextView) mView.findViewById(R.id.prize_name))
.setText(prize.shortname);
((TextView) mView.findViewById(R.id.coin_num))
.setText(prize.coin + getString(R.string.gold_bean));
// 设置间距
mView.setLayoutParams(lp);
prizeLayout.addView(mView);
// if (i == info.prizeList.size()-1) {
//
// View moreView = getLayoutInflater().inflate(
// R.layout.item_coin_prize_more, null);
// LinearLayout.LayoutParams lpMore = new
// LinearLayout.LayoutParams(
// viewWidth, viewHeight, 1);
// moreView.setLayoutParams(lpMore);
// prizeLayout.addView(moreView);
// }
mView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
sendUmeng(HuPuRes.UMENG_EVENT_MALL,
HuPuRes.UMENG_KEY_AWARD_LIST,
HuPuRes.UMENG_VALUE_AWARD_NUM);
Intent coinIntent = new Intent(
UserGoldInfoActivity.this,
ExchangeListActivity.class);
startActivity(coinIntent);
}
});
}
}
if (info.taskList != null && info.taskList.size() > 0) {
taskLayout.removeAllViews();
for (int i = 0; i < info.taskList.size(); i++) {
final TaskEntity task = info.taskList.get(i);
View taskView = getLayoutInflater().inflate(
R.layout.item_task, null);
((TextView) taskView.findViewById(R.id.task_name))
.setText(task.name);
// 积分墙 特殊逻辑
if (task.id >= 999999999)
((TextView) taskView.findViewById(R.id.task_coin))
.setText("每日最多+" + task.coin + getString(R.string.gold_bean));
else
((TextView) taskView.findViewById(R.id.task_coin))
.setText("+" + task.coin + getString(R.string.gold_bean));
// task.status = i;
if (task.status == 1)
{
TextView taskItemstatus = ((TextView) taskView.findViewById(R.id.task_status));
taskItemstatus.setWidth(136);
taskItemstatus.setText(Html.fromHtml("<font color=\"#E61A1A\"> 领取 </font>"));
taskItemstatus.setBackgroundResource(R.drawable.btn_binding_selector);
}
else if(task.status == 2)
{
TextView taskItemstatus = ((TextView) taskView.findViewById(R.id.task_status));
taskItemstatus.setWidth(136);
taskItemstatus.setText(Html.fromHtml("<font color=\"#808080\"> 已领取</font>"));
taskItemstatus.setBackgroundResource(R.drawable.btn_unbindling_down);
}
else {
TextView taskItemstatus = ((TextView) taskView.findViewById(R.id.task_status));
taskItemstatus.setText(task.process_text);
taskItemstatus.setBackgroundColor(Color.TRANSPARENT);
}
taskView.setTag(task.id);
taskLayout.addView(taskView);
if (mToken != null) {
taskView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
taskGoto(task);
}
});
TextView taskStatus = (TextView) taskView.findViewById(R.id.task_status);
boolean isEnable = task.status==2?false:true;
taskStatus.setEnabled(isEnable);
taskStatus.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(task.status == 1)
{
getRewardBar.setVisibility(View.VISIBLE);
reqGetTaskReward(task.id+"");
}
else
{
taskGoto(task);
}
}
});
}
}
}
// 校验token是否失效
if (resumeNum == 0)
checkToken(info.isLogin);
HupuLog.e("papa", "-----" + resumeNum);
resumeNum++;
}
}
else if (methodId == HuPuRes.REQ_METHOD_GET_TASKREWARD) {
getRewardBar.setVisibility(View.GONE);
if (o != null) {
TaskRewardEntity info = (TaskRewardEntity) o;
if(info!=null)
{
if(info.id.equals("1"))
{
reqBetInfo();
Toast.makeText(this, info.text, Toast.LENGTH_LONG).show();
}
else if(info.id.equals("-1"))
{
Toast.makeText(this, info.text, Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(this,
this.getString(R.string.title_taskreward_failure), Toast.LENGTH_LONG).show();
}
}
else
{
Toast.makeText(this,
this.getString(R.string.title_taskreward_failure), Toast.LENGTH_LONG).show();
}
}
}
}
private void taskGoto(final TaskEntity task )
{
if(task==null)
{
return;
}
if (task.id >= 999999999) {
// 初始化,当Activity第一次创建时调用
YjfSDK.getInstance(
UserGoldInfoActivity.this,
UserGoldInfoActivity.this)
.initInstance(
"72108",
"EMLQU08GF2LWNYW1AM7OEU2F8CV0TG0JCS",
"81553", "sdk 4.0.0");
if (mToken != null) {
YjfSDK.getInstance(
UserGoldInfoActivity.this,
null).setCoopInfo(mToken);
}
ScoreWallSDK.getInstance(
UserGoldInfoActivity.this)
.showScoreWall();
} else {
Intent taskIntent = new Intent(
UserGoldInfoActivity.this,
TaskActivity.class);
taskIntent.putExtra("id", task.id);
startActivity(taskIntent);
}
}
private void reqBetInfo() {
guessBar.setVisibility(View.VISIBLE);
goldBar.setVisibility(View.VISIBLE);
initParameter();
mParams.put("token", mToken);
String sign = SSLKey.getSSLSign(mParams,
SharedPreferencesMgr.getString("sugar", ""));// salt
// 值由init中的sugar给出。必须要有的。
mParams.put("sign", sign);
// HupuLog.e("papa", "---token=="+mToken+"-----------sign=="+sign);
sendRequest(HuPuRes.REQ_METHOD_GET_BETINFO, mParams,
new HupuHttpHandler(this), false);
}
/**
* TODO 获取任务奖励
*
* @param taskid
* @return void
*/
public void reqGetTaskReward(String taskid)
{
initParameter();
mParams.put("token", mToken);
mParams.put("id", taskid);
sendRequest(HuPuRes.REQ_METHOD_GET_TASKREWARD, mParams,
new HupuHttpHandler(this), false);
}
/**
*
* 方法: updateScoreSuccess 描述: TODO 参数:
*
* @param type
* 0初始化 1查询积分 2消费积分
* @param current
* 当前的积分
* @param change
* 变更的积分
* @param unit
* 单位
*/
@Override
public void updateScoreFailed(int type, int code, String error) {
// TODO Auto-generated method stub
Toast.makeText(this, "错误代码:" + code + ",内容:" + error,
Toast.LENGTH_SHORT).show();
}
/**
*
* 方法: updateScoreSuccess 描述: TODO 参数:
*
* @param type
* 0初始化 1查询积分 2消费积分
* @param current
* 当前的积分
* @param change
* 变更的积分
* @param unit
* 单位
*/
@Override
public void updateScoreSuccess(int type, int current, int change,
String unit) {
// TODO Auto-generated method stub
Toast.makeText(this, "当前为:" + current + ",单位:" + unit,
Toast.LENGTH_SHORT).show();
}
@Override
public void onErrResponse(Throwable error, int type) {
// TODO Auto-generated method stub
super.onErrResponse(error, type);
getRewardBar.setVisibility(View.GONE);
}
@Override
public void onErrMsg(String msg, int type) {
// TODO Auto-generated method stub
super.onErrMsg(msg, type);
getRewardBar.setVisibility(View.GONE);
}
}