package com.bigdo.app;
import java.util.HashMap;
import org.json.JSONObject;
import com.bigdo.common.BDSQLiteHelper;
import com.bigdo.common.Login;
import com.bigdo.common.RConfig;
import com.bigdo.common.RState;
import com.bigdo.common.User;
import com.bigdo.controls.XListView;
import com.bigdo.util.WSCheck;
import com.bigdo.util.WSHelper;
import com.bigdo.util.WSResult;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
public class Me_Favorite_Activity extends BaseActivity {
VdieoBll vbll;
LinearLayout tools_host;
ExtensionColumn[] column;
int cur_pos = 0;
User user = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.me_favorite_activity);
init();
View com_title = (View) this.findViewById(R.id.com_title_host);
TextView bd_title_name = (TextView) com_title
.findViewById(R.id.sub_com_title_context);
bd_title_name.setText("我的收藏");
Button bd_title_back = (Button) com_title
.findViewById(R.id.sub_com_title_back);
bd_title_back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
vbll = new VdieoBll(this);
vbll.onCreate(savedInstanceState);
vbll.loadData();
}
public void init() {
user = Login.get(this);
column = new ExtensionColumn[1];
column[0] = new ExtensionColumn();
column[0].type = ExtensionColumn.INT;
column[0].column = "idcollect";
}
@Override
public void onVideoBroadcast(Intent intent) {
// TODO Auto-generated method stub
}
@Override
public void onClearData() {
// TODO Auto-generated method stub
}
private void showBTools(int pos) {
cur_pos = pos;
if (tools_host == null) {
tools_host = (LinearLayout) findViewById(R.id.b_tools_host);
Button tools_0 = (Button) findViewById(R.id.b_tools_0);
Button tools_1 = (Button) findViewById(R.id.b_tools_1);
Button tools_2 = (Button) findViewById(R.id.b_tools_2);
tools_host.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (tools_host.getVisibility() == LinearLayout.GONE) {
tools_host.setVisibility(LinearLayout.VISIBLE);
} else {
tools_host.setVisibility(LinearLayout.GONE);
}
}
});
tools_0.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
tools_host.setVisibility(LinearLayout.GONE);
}
});
tools_1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
tools_host.setVisibility(LinearLayout.GONE);
vbll.goVideoDetail(cur_pos);
}
});
tools_2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
tools_host.setVisibility(LinearLayout.GONE);
delCollect();
}
});
}
if (tools_host.getVisibility() == LinearLayout.GONE) {
tools_host.setVisibility(LinearLayout.VISIBLE);
} else {
tools_host.setVisibility(LinearLayout.GONE);
}
}
private void delCollect() {
if (vbll != null && vbll.data != null) {
HashMap<String, Object> mp = vbll.data.get(cur_pos);
if (mp != null) {
int idcollect = (Integer) mp.get("idcollect");
if (idcollect >= 0) {
JSONObject jparam = new JSONObject();
try {
jparam.put("idcollect", idcollect);
} catch (Exception e) {
this.showInfo("准备请求参数出错.");
return;
}
showProgress("删除中..");
String url = RConfig.delCollect(this);
String data = jparam.toString();
WSHelper ws = new WSHelper(this, "", false, handler, url,
"", WSHelper.getStringEntity(data), 0, 0, 0, 0,
WSHelper.POST);
ws.start();
Log.e("delCollect", url);
Log.e("delCollect_data", data);
return;
}
}
}
showInfo("收藏数据有误");
}
@SuppressLint("HandlerLeak")
protected Handler handler = new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.arg1 == RState.WSCall) {
JSONObject jresult = WSCheck.Json(Me_Favorite_Activity.this,
msg);
hiddenProgress();
cancelFinish(jresult);
}
}
};
private void cancelFinish(JSONObject jresult) {
if (vbll != null && jresult != null) {
BDSQLiteHelper sqlobj = null;
SQLiteDatabase sqlobj_w = null;
try {
int idcollect = jresult.getInt("idcollect");
if (idcollect >= 0) {
sqlobj = new BDSQLiteHelper(this);
sqlobj_w = sqlobj.getWritableDatabase();
int c = 0;
try {
c = sqlobj_w.delete("collect", "idcollect = ?",
new String[] { idcollect + "" });
if (c > 0 && vbll.data != null && vbll.ad != null) {
int lg = vbll.data.size();
for (int i = 0; i < lg; i++) {
HashMap<String, Object> mp = vbll.data.get(i);
if (mp != null) {
if (idcollect == (Integer) mp
.get("idcollect")) {
vbll.data.remove(i);
vbll.ad.notifyDataSetChanged();
vbll.checkHasData(false);
break;
}
}
}
}
} catch (Exception ee) {
}
if (c > 0) {
messageBox("删除成功");
}
}
} catch (Exception e) {
}
try {
if (sqlobj_w != null) {
sqlobj_w.close();
sqlobj_w = null;
}
} catch (Exception ex) {
}
try {
if (sqlobj != null) {
sqlobj.close();
sqlobj = null;
}
} catch (Exception ex) {
}
}
}
public class VdieoBll extends SingleImgVideo {
public VdieoBll(BaseActivity a) {
super(a);
// TODO Auto-generated constructor stub
}
@Override
protected XListView videoList() {
// TODO Auto-generated method stub
return (XListView) findViewById(R.id.video_list);
}
@Override
protected TextView noData() {
// TODO Auto-generated method stub
return (TextView) findViewById(R.id.video_list_no_data);
}
@Override
protected boolean isCache() {
// TODO Auto-generated method stub
return true;
}
@Override
protected boolean batch(int op) {
// TODO Auto-generated method stub
return false;
}
@Override
protected int count() {
// TODO Auto-generated method stub
return Integer.MAX_VALUE;
}
@Override
protected boolean refresh() {
// TODO Auto-generated method stub
return true;
}
@Override
protected boolean loadMore() {
// TODO Auto-generated method stub
return false;
}
@Override
protected String updateWhere(int op) {
// TODO Auto-generated method stub
return "user = ?";
}
@Override
protected String selectWhere(int op) {
// TODO Auto-generated method stub
return "user = ?";
}
@Override
protected String[] updateField(int op) {
return new String[] { "user" };
}
@Override
protected String[] updateVal(int op) {
return new String[] { user != null ? user.user : "" };
}
@Override
protected String[] selectField(int op) {
return new String[] { "user" };
}
@Override
protected String[] selectVal(int op) {
return new String[] { user != null ? user.user : "" };
}
@Override
protected String orderBy(int op) {
return "idcollect desc";
}
@Override
protected String table() {
return "collect";
}
@Override
protected String service() {
return RConfig.collect(Me_Favorite_Activity.this);
}
@Override
protected JSONObject param(int op) {
JSONObject jparam = new JSONObject();
try {
jparam.put("user", user != null ? user.user : "");
} catch (Exception e) {
}
return null;
}
@Override
protected boolean free() {
return false;
}
@Override
protected void wsCall(WSResult result) {
}
@Override
protected boolean onGoVideoDetail(int pos) {
showBTools(pos);
return true;
}
@Override
protected ExtensionColumn[] extensionColumn() {
// TODO Auto-generated method stub
return column;
}
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN) {
if (tools_host != null
&& tools_host.getVisibility() == View.VISIBLE) {
tools_host.setVisibility(LinearLayout.GONE);
return true;
}
}
return super.onKeyDown(keyCode, event);
}
}