package com.peptalk.client.kaikai; import java.io.File;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Vector; import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair; import pep.com.lbs.PepLocationManager;
import com.peptalk.client.kaikai.activity.BaseActivity;
import com.peptalk.client.kaikai.app.KaiApplication;
import com.peptalk.client.kaikai.biz.PoiPublicTimeline;
import com.peptalk.client.kaikai.biz.PoiReport;
import com.peptalk.client.kaikai.biz.PoiShow;
import com.peptalk.client.kaikai.util.INFO;
import com.peptalk.client.kaikai.util.Network;
import com.peptalk.client.kaikai.util.SomeUtil;
import com.peptalk.client.kaikai.vo.Coupon;
import com.peptalk.client.kaikai.vo.Coupons;
import com.peptalk.client.kaikai.vo.External;
import com.peptalk.client.kaikai.vo.Place;
import com.peptalk.client.kaikai.vo.Poi;
import com.peptalk.client.kaikai.vo.PoiConcise;
import com.peptalk.client.kaikai.vo.Poi_Item;
import com.peptalk.client.kaikai.vo.Poiext;
import com.peptalk.client.kaikai.vo.Poiexts;
import com.peptalk.client.kaikai.vo.Status;
import com.peptalk.client.kaikai.vo.StatusConcise;
import com.peptalk.client.kaikai.vo.Statuses;
import com.peptalk.client.kaikai.vo.Treasure;
import com.peptalk.client.kaikai.vo.Treasures;
import com.peptalk.client.kaikai.vo.UserConcise;
import com.peptalk.client.kaikai.vo.UserConcises;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.format.Time;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.RadioButton;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener; public class Place_Detail_Mode extends BaseActivity {

private View friendBottomView=null;
private View placeBottomView=null;
private View meBottomView=null;
private View tipsBottomView=null;
private ImageView buttomMe=null;
/**************************视图模型部分***********************************/
private ListView contentListView;//展示的内容视图
private ListView tipsListView;//展示的内容视图
private ProgressBar topProgressBar;//载入进度条

public final byte VISTOR=0;//访客
public final byte SUPRISE=1;//惊喜
public final byte TIPS=2;//贴士
public final byte GROUPON=3;//团购
public final byte TWITTER=4;//微博
public final byte NEWS=5;//旧闻
private View titleView;//标题视图模型

private String SystemTime="";
private LinearLayout vistoryLayout =null;
private LayoutInflater contentTipsInflater;//加载xml数据
private ContentListViewAdaptercontentListViewAdapter=null;
/*********************************数据部分******************************************/
private Vector<UserConcise> vistorVec=null;

/******************************传来的参数数据********************************/private double placeLat;
private double placeLon;
private String fromWhere = "";
private String poiNameStr = "";
private String poiAddressStr = "";
private String poiPhone="";
private int page=1;
/**************************数据sax解析类************************************/
private PoiShow poiShow=null;
private Poi placeInf=null;
private String responseString = "";
private UserConcise poiMayor;
private Vector<UserConcise> visitors;
private String poiID = "";
private String poiName = "";
private Status last_Checkin;
private UserConcise last_Check_User;
/***********************消息数据类型*******************************************/
private static final int MESSAGE_VISITOR_ERROR = 0x001;
private static final int MESSAGE_COUPON_PHOTO = 0x002;
private static final int MESSAGE_COUPON_TEMP = 0x003;
private static final int MESSAGE_TIP_REFRESH=0x004;
private static final int TIP_NEXTPAGE_ERROR=0x005;
private static final int TIP_FLUSH_DATA=0x006;
private static final int DIALOG_REPORT = 0x002;//举报类型选择的对话框
/*********************菜单******************************/
private static final int MENU_REFRESH = Menu.FIRST ;
private static final int MENU_COLLECT = Menu.FIRST+1;
private static final int MENU_REPORT = Menu.FIRST + 2;
private static final int MENU_CANCEL_COLLECT = Menu.FIRST + 3;
private static final int MENU_BACK_TOP = Menu.FIRST + 4;


//private static final int MESSAGE_OPERADATA = 0x001;
private boolean isFavorited = false;
private String couponContent="";
private static Bitmap couponTypeBitmap;

public static Coupons couponVec;//惊喜
public static Statuses tipStatues;//贴士
public static UserConcises vistorUserConcises;//访客列表
private Vector<Treasure> treasuresVector;
private Vector<Status> statusVector;
private Vector<Coupon> couponTemp=null; //附近优惠

public static Poi_Item around_Tuangou;//团购所有信息
private Vector tempTuangous=null;//团购

public static Poi_Item around_Weibo;//微博所有信息
private Vector tempWeiBos=null;//微博

public static Poi_Item poi_new;//新闻所有信息
private Vector tempNew=null;//新闻


private boolean isRefresh=true;
private boolean loadFinish = false;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.places_detail_mode);

Bundle extras = getIntent().getExtras();
poiID = extras.getString("com.peptalk.client.kaikai.PoiId");
fromWhere = extras.getString("com.peptalk.client.kaikai.from");
poiNameStr = extras.getString("com.peptalk.client.kaikai.poiName");
poiAddressStr = extras.getString("com.peptalk.client.kaikai.poiAddress");

topProgressBar=(ProgressBar)findViewById(R.id.head4_progress);//进度条


BaseActivity.activityStatus.put("PlaceDetailActivity", "F");
/*****************菜单动作*********************/
topMenuAction(); handler = new Handler(){
public void handleMessage(Message msg){
switch(msg.what){
case MESSAGE_COUPON_PHOTO:
//couponImageView.setVisibility(View.VISIBLE);
break;
case MESSAGE_VISITOR_ERROR:
topProgressBar.setVisibility(View.GONE);
Toast.makeText(Place_Detail_Mode.this,responseString,Toast.LENGTH_SHORT).show();
break;
case TIP_NEXTPAGE_ERROR:
case MESSAGE_TIP_REFRESH:
Toast.makeText(Place_Detail_Mode.this,(String)msg.obj,Toast.LENGTH_SHORT).show();
break;
case TIP_FLUSH_DATA:
case MESSAGE_COUPON_TEMP:
loadFinish = true;
if(contentListViewAdapter!=null){
contentListViewAdapter.notifyDataSetChanged();
topProgressBar.setVisibility(View.GONE);
}
break;
}
}
};

fillContentListCentent();
getVistorList();
}

private void fillContentListCentent(){
contentListView=(ListView) findViewById(R.id.place_detail_ListView1);
contentListViewAdapter = new ContentListViewAdapter(Place_Detail_Mode.this);
contentListView.setAdapter(contentListViewAdapter);
}

private void getVistorList(){ //得到访客数据列表
new Thread(){
public void run(){
String url = " http://"+INFO.HOST_IP+":"+INFO.HOST_PORT+ "/api/poi/show.xml?id="+poiID+"&visitors=true&coupon=true&tip=true&poi=true&around=true&checkin=true";
getPlaceDetailAction(url);
}
}.start();
}
private boolean getPlaceDetailAction(String url){ //具体执行访客动作
poiShow= new PoiShow();
Network.getNetwork(this).httpGetUpdate(url, poiShow);

if(poiShow.getError()!=null){
responseString = poiShow.getError().getErrorMessage();
sendMessage(MESSAGE_VISITOR_ERROR);
return false;
}

couponVec = poiShow.getCoupons();
if(couponVec!=null){
couponTemp=couponVec.getCoupons();
new Thread(){//取优惠图片
public void run(){
getCouponPicture(couponVec.getCoupons());
}
}.start();
}
Poi poiDetail = poiShow.getPoi();
if(poiDetail!=null){
poiName = poiDetail.getName();
poiMayor = poiDetail.getMayor();
poiPhone=poiDetail.getPhone();
isFavorited = poiDetail.isFavorited();
//换成从地点详情取回的id,签到时用
poiID = poiDetail.getId();
couponContent = poiDetail.getCoupon_content();
if(couponContent!=null&&!"".equals(couponContent)){
sendMessage(MESSAGE_COUPON_PHOTO);
}
couponTypeBitmap = getPicture(poiDetail.getImage_url(),PICTRUE_TYPE_COUPON);
placeLat = poiDetail.getLat();
placeLon = poiDetail.getLon();
}

vistorUserConcises=null;
tipStatues=poiShow.getTips();
if(tipStatues!=null){
statusVector=tipStatues.getStatuses();
}


Vector<Status> tempCheckin=null;

if(poiShow.getCheckins()!=null && (tempCheckin=poiShow.getCheckins().getStatuses())!=null){

if(tempCheckin.size()>0){
last_Checkin=tempCheckin.get(0);
last_Check_User=last_Checkin.getUser_concise();
}

}

new Thread(){
public void run(){


/********************取掌门头像*******************************/
if(poiMayor!=null){//去头像
poiMayor.setProfile_image(getPicture(poiMayor.getProfile_image_url(),PICTRUE_TYPE_ICON));
}

/***********************取访客头像***************************/
if((vistorUserConcises =poiShow.getVisitors())!=null){
visitors = poiShow.getVisitors().getUserConcisees();
if(visitors!=null){//取头像信息
for(int v=0;v<visitors.size();v++){
visitors.get(v).setProfile_image(getPicture(visitors.get(v).getProfile_image_url(),PICTRUE_TYPE_ICON));
}
}
}

/*********************取贴士的头像*********************************/
if(statusVector!=null){
for(int k=0;k<statusVector.size();k++){
statusVector.get(k).getUser_concise().setProfile_image(getPicture(statusVector.get(k).getUser_concise().getProfile_image_url(),PICTRUE_TYPE_TREASURE));
}
}
sendMessage(MESSAGE_COUPON_TEMP);
}
}.start();

/*************************************提取有用的额外信息***************************************/
if(poiShow.getAround()!=null){
Vector<Poi_Item> tempVectorPoi_Item=poiShow.getAround().getItem();

Poi_Item tempPoi_Item=null;

for(int i=0;i<tempVectorPoi_Item.size();i++){
tempPoi_Item=(Poi_Item)tempVectorPoi_Item.get(i);

if(tempPoi_Item.getType()!=null && tempPoi_Item.getType().equals("tuangou")){

around_Tuangou=tempVectorPoi_Item.get(i);

if(around_Tuangou.getPoiexts()!=null){
tempTuangous=around_Tuangou.getPoiexts().getPoiexts();
if(tempTuangous!=null && tempTuangous.size()>0){
getTurangouPic(tempTuangous);
}
}
}
else if(tempPoi_Item.getType()!=null && tempPoi_Item.getType().equals("weibo")){

around_Weibo=tempVectorPoi_Item.get(i);
if(around_Weibo.getPoiexts()!=null){
tempWeiBos=around_Weibo.getPoiexts().getPoiexts();
if(tempWeiBos!=null && tempWeiBos.size()>0){
getTurangouPic(tempWeiBos);
}
}
}

}
}

sendMessage(MESSAGE_COUPON_TEMP);
return true;
} private void getTurangouPic(Vector tempVector){
if(tempVector!=null && tempVector.size()>0){
Poiext t_w_Poiext=null;
for(int i=0;i<tempVector.size();i++){
t_w_Poiext=(Poiext)tempVector.get(i);
if(t_w_Poiext!=null && t_w_Poiext.getExternal()!=null){
t_w_Poiext.getExternal().setImageBitMap(getPicture(t_w_Poiext.getExternal().getImage(),PICTRUE_TYPE_TREASURE));
}
}
}
}
/************************消息启动模型**************************/
private void sendMessage(int messageID){
Message message = new Message();
message.what = messageID;
handler.sendMessage(message);
}

/************************得到优惠的图片***************************/
private void getCouponPicture(Vector<Coupon> couponsVec){
if(couponsVec==null){
return;
}
for(int i=0;i<couponsVec.size();i++){
Coupon eachCoupon = couponsVec.get(i);
if(eachCoupon.getMessage()==null){
continue;
}
if(eachCoupon.getDetailBitmap()==null){
String iconurl = eachCoupon.getImage_url();
couponsVec.get(i).setDetailBitmap(getPicture(iconurl,PICTRUE_TYPE_TIP));
}
}
}

/********************************内容适配器*****************************************/
private int showAcctivateCount=0;

private class ContentListViewAdapter extends BaseAdapter {

private Status tempStatus=null;//临时变量
private UserConcise tempUserConcise =null;
private TextView nameTextView=null;

private TextView tempView;
private ImageView IconImageView = null;

private int showPoiDetailCount=1;//头部标题
private int showMayorCount=0;//掌门
private int showVisitorCount=0;//访客
private int showCouponCount=0;//优惠显示的条说
private int showTipCount=0;//贴士显示的条说
private int showTuangouCount=0;//显示团购的数量
private int showWeiboCount=0;//显示微博的数量
private int showNewsCount=0;//显示旧闻的数量


public ContentListViewAdapter(Context context){
if(contentTipsInflater==null)
contentTipsInflater = LayoutInflater.from(context);
}

public int getCount(){
showPoiDetailCount=1;
showMayorCount=0;//掌门
showVisitorCount=0;//访客
showCouponCount=0;
showTipCount=0;
showTuangouCount=0;
showWeiboCount=0;
showNewsCount=0;
if(poiShow!=null){//保证每次更新都有数据加载完才可以显示
if(poiMayor!=null){
showMayorCount=1;
}
if(poiShow.getVisitors()!=null && poiShow.getVisitors().getUserConcisees()!=null && poiShow.getVisitors().getUserConcisees().size()>0){
showVisitorCount=1;
}
if(couponTemp!=null && couponTemp.size()>0){
showCouponCount=1;//(couponTemp.size()>2?3:couponTemp.size()+1);
}
if(statusVector!=null && statusVector.size()>0){
showTipCount=2;//(statusVector.size()>3?4:statusVector.size()+1);
}
if(tempTuangous!=null && tempTuangous.size()>0){
showTuangouCount=2;//(tempTuangous.size()>1?2:tempTuangous.size()+1);
}
if(tempWeiBos!=null && tempWeiBos.size()>0){
showWeiboCount=2;//(tempTuangous.size()>1?2:tempTuangous.size()+1);
}
}
if(tempNew!=null){
showNewsCount=tempNew.size()+1;//(tempTuangous.size()>1?2:tempTuangous.size()+1);
}
return showPoiDetailCount+showMayorCount+showVisitorCount+showCouponCount+showTipCount+showTuangouCount+showWeiboCount+showNewsCount;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return position;
}

public View getView(int position, View convertView1, ViewGroup parent) {


if(position==0){//地点详情头部
View tempContentViewMode=contentTipsInflater.inflate(R.layout.place_detail_head, null);
TextView poiNameTextView=(TextView)tempContentViewMode.findViewById(R.id.placedetail_tv_2);
TextView poiAdressTextView = (TextView)tempContentViewMode.findViewById(R.id.placedetail_tv_3);

if(poiShow!=null && poiShow.getPoi()!=null){
poiNameTextView.setText(poiShow.getPoi().getName());
poiAdressTextView.setText(poiShow.getPoi().getAddress());
}
else{
poiNameTextView.setText(poiNameStr);
poiAdressTextView.setText(poiAddressStr);
}

if(poiPhone!=null && !poiPhone.equals("")){
poiAdressTextView=(TextView)tempContentViewMode.findViewById(R.id.placedetail_tv_4);
poiAdressTextView.setText("电话:"+poiPhone);
}
else{
tempContentViewMode.findViewById(R.id.placedetail_tv_4).setVisibility(View.GONE);
}

Button checkinButton = (Button)tempContentViewMode.findViewById(R.id.placedetail_b1);

checkinButton.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
if(poiID!=null&&loadFinish){
Intent intentToCheckin = new Intent(Place_Detail_Mode.this, CheckinActivity.class);
intentToCheckin.putExtra("com.peptalk.client.kaikai.poiID",poiID);
intentToCheckin.putExtra("com.peptalk.client.kaikai.poiName",poiName==null?"":poiName );
intentToCheckin.putExtra("com.peptalk.client.kaikai.fromw","placedetail");
startActivity(intentToCheckin);
}

}
});
Button tipButton = (Button)tempContentViewMode.findViewById(R.id.placedetail_b2);
tipButton.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
if(loadFinish){
Intent intentToShout = new Intent(Place_Detail_Mode.this, ShoutAcivity.class);
intentToShout.putExtra("com.peptalk.client.kaikai.poiName", poiName);
intentToShout.putExtra("com.peptalk.client.kaikai.statusID", "");
intentToShout.putExtra("com.peptalk.client.kaikai.poiID", poiID==null?"":poiID);
intentToShout.putExtra("com.peptalk.client.kaikai.tipID", "");
intentToShout.putExtra("com.peptalk.client.kaikai.type", "tip");
startActivity(intentToShout);
} }
});
tempContentViewMode.findViewById(R.id.pdetail_llayout_top).setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Intent intentToCheckin = new Intent(Place_Detail_Mode.this, PlaceDetailNoMapActivity.class);
intentToCheckin.putExtra("com.peptalk.client.kaikai.placelat", placeLat+"");
intentToCheckin.putExtra("com.peptalk.client.kaikai.placelon", placeLon+"");
startActivity(intentToCheckin);
}
});
return tempContentViewMode;
}
if(showCouponCount>0 && position==showCouponCount){//showMayorCount+showVisitorCount+showCouponCount
if(position==showCouponCount){
View tempContentViewMode=contentTipsInflater.inflate(R.layout.place_coupon_mode, null);
if(poiShow.getPoi()!=null){
((TextView)tempContentViewMode.findViewById(R.id.headbar_tv)).setText("惊喜 发现"+poiShow.getPoi().getCoupons_count()+"个");
}
tempContentViewMode.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
Intent intent = new Intent(Place_Detail_Mode.this, PlaceCouponActivity.class);
intent.putExtra("com.peptalk.client.kaikai.poiID", poiID);
startActivity(intent);
}
});
(tempContentViewMode.findViewById(R.id.show_text_panel)).setVisibility(View.GONE);


return tempContentViewMode;
}
/* else{
View temp_View_tip = contentTipsInflater.inflate(R.layout.weibo, null);
temp_View_tip.findViewById(R.id.weibo_pic).setVisibility(View.GONE);
((TextView)temp_View_tip.findViewById(R.id.weibo_message)).setText(couponTemp.get(0).getMessage());
((TextView)temp_View_tip.findViewById(R.id.weibo_tail)).setText(couponTemp.get(0).getPoi_name());

temp_View_tip.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
Intent intentToDetail = new Intent(Place_Detail_Mode.this, CouponDetailActivity.class);
intentToDetail.putExtra("com.peptalk.client.kaikai.couponId",couponTemp.get(0).getId());
intentToDetail.putExtra("com.peptalk.client.kaikai.from","");
startActivity(intentToDetail);
}
});
return temp_View_tip;
}*/
}

if(position==showMayorCount+showCouponCount){//掌门

View tempContentViewMode=contentTipsInflater.inflate(R.layout.place_item_mode, null);
if(poiShow.getPoi()!=null){
((TextView)tempContentViewMode.findViewById(R.id.headbar_tv)).setText("这里的掌门");
(tempContentViewMode.findViewById(R.id.show_text_panel)).setVisibility(View.GONE);

/*((TextView)tempContentViewMode.findViewById(R.id.show_text_inf)).setText("您来这签到 ");
Integer mayorCount=0;
int myCount=0;
if(poiMayor!=null){
if(poiShow.getPoi().getMayor_checkin_count()!=null&&!"".equals(poiShow.getPoi().getMayor_checkin_count())){
mayorCount= Integer.parseInt(poiShow.getPoi().getMayor_checkin_count());
}
}
if(poiShow.getPoi().getMy_checkin_count()!=null&&!"".equals(poiShow.getPoi().getMy_checkin_count())){
myCount=Integer.parseInt(poiShow.getPoi().getMy_checkin_count());
}
((TextView)tempContentViewMode.findViewById(R.id.show_text_inf_1)).setText((mayorCount>0?mayorCount-myCount:1)+" 次");
((TextView)tempContentViewMode.findViewById(R.id.show_text_inf_2)).setText("就能夺得掌门宝座! ");
((TextView)tempContentViewMode.findViewById(R.id.show_text_inf_3)).setVisibility(View.GONE);
((TextView)tempContentViewMode.findViewById(R.id.show_text_inf_4)).setVisibility(View.GONE);
*/
}
/* else{
(tempContentViewMode.findViewById(R.id.show_text_panel)).setVisibility(View.GONE);
} */

LinearLayout showPanel = (LinearLayout)tempContentViewMode.findViewById(R.id.add_showView);//添加掌门面板
LinearLayout layout = (LinearLayout)contentTipsInflater.inflate(R.layout.mayor, null);//载入掌门列表
showPanel.addView(layout);

if(poiMayor!=null && poiMayor.getScreen_name()!=null){

layout.findViewById(R.id.no_mayor).setVisibility(View.GONE);
ImageView faceImageView=(ImageView)layout.findViewById(R.id.mayor_face_smaller);

if(poiMayor.getProfile_image()!=null){
faceImageView.setImageBitmap(poiMayor.getProfile_image());
}

if(poiMayor.getScreen_name()!=null){
nameTextView=((TextView)layout.findViewById(R.id.mayor_name));
nameTextView.setText(" "+poiMayor.getScreen_name());
}

// poiMayor.getVistorCount()
((TextView)layout.findViewById(R.id.mayor_extrary_inf)).setText("TA在这共计签到 "+poiShow.getPoi().getMayor_checkin_count()+"次");
layout.findViewById(R.id.mayor_address).setVisibility(View.GONE);//去掉最后一个数据
tempContentViewMode.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
if(poiMayor.getId() != null){
Intent intentToDetail = new Intent(Place_Detail_Mode.this, FriendDetailActivity.class);
intentToDetail.putExtra("com.peptalk.client.kaikai.UserId", poiMayor.getId());
intentToDetail.putExtra("com.peptalk.client.kaikai.name",poiMayor.getScreen_name()==null?"":poiMayor.getScreen_name());
startActivity(intentToDetail);
}
}
});
}
else{

ImageView faceImageView=(ImageView)layout.findViewById(R.id.mayor_face_smaller);
faceImageView.setImageResource(R.drawable.crown2);
layout.findViewById(R.id.have_mayor).setVisibility(View.GONE);
layout.findViewById(R.id.no_mayor).setVisibility(View.VISIBLE);
}
return tempContentViewMode;
}


if(showVisitorCount>0&&position==showMayorCount+showVisitorCount+showCouponCount){ //访客

View tempContentViewMode=contentTipsInflater.inflate(R.layout.place_visitor, null);
(tempContentViewMode.findViewById(R.id.visitor_title11)).setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
Intent intentToDetail = new Intent(Place_Detail_Mode.this,PlaceVisitorActivity.class);
intentToDetail.putExtra("com.peptalk.client.kaikai.poiID", poiID);
startActivity(intentToDetail);
}
});
vistoryLayout =(LinearLayout)tempContentViewMode.findViewById(R.id.visitor_panel);
if(poiShow!=null && (placeInf=poiShow.getPoi())!=null){
((TextView)tempContentViewMode.findViewById(R.id.headbar_tv)).setText("访客 "+placeInf.getVisitors_count()+"人留下足迹");

((TextView)tempContentViewMode.findViewById(R.id.show_text_inf)).setText("签到 ");
((TextView)tempContentViewMode.findViewById(R.id.show_text_inf_1)).setText(placeInf.getCheckin_count()+"次");

Integer myVisitorCount=Integer.parseInt(placeInf.getMy_checkin_count());

if(myVisitorCount!=null && myVisitorCount>0 && last_Check_User!=null){
((TextView)tempContentViewMode.findViewById(R.id.show_text_inf_2)).setText(",我来过 ");
((TextView)tempContentViewMode.findViewById(R.id.show_text_inf_3)).setText(myVisitorCount+"次");

if(last_Check_User.getLast_time()!=null){
((TextView)tempContentViewMode.findViewById(R.id.show_text_inf_4)).setText(",最后一次是"+SomeUtil.getTimeOffset(poiShow.getPoi().getLast_checkin_at()));
}
}
else{
((TextView)tempContentViewMode.findViewById(R.id.show_text_inf_2)).setText(" 你还没有来过这里!");
((TextView)tempContentViewMode.findViewById(R.id.show_text_inf_3)).setVisibility(View.GONE);
((TextView)tempContentViewMode.findViewById(R.id.show_text_inf_4)).setVisibility(View.GONE);
}
}
if(poiShow!=null && poiShow.getVisitors()!=null && (vistorVec=poiShow.getVisitors().getUserConcisees())!=null){
((TextView)tempContentViewMode.findViewById(R.id.no_people)).setVisibility(View.GONE);
for(int i=0;i<vistorVec.size();i++){
tempUserConcise = (UserConcise)vistorVec.get(i);
final String visitorId=tempUserConcise.getId();
LinearLayout layout = (LinearLayout)contentTipsInflater.inflate(R.layout.place_visitor_list, null);
vistoryLayout.addView(layout);
final String screenName=tempUserConcise.getScreen_name();
if(tempUserConcise.getProfile_image()!=null){
((ImageView)layout.findViewById(R.id.placevisitor_iv)).setImageBitmap(tempUserConcise.getProfile_image());
}
if(screenName!=null && !"".equals(screenName)){
((TextView)layout.findViewById(R.id.placevisitor_tv)).setText(screenName);
}
layout.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
if(visitorId != null){
Intent intentToDetail = new Intent(Place_Detail_Mode.this, FriendDetailActivity.class);
intentToDetail.putExtra("com.peptalk.client.kaikai.UserId", visitorId);
intentToDetail.putExtra("com.peptalk.client.kaikai.name",screenName==null?"":screenName);
startActivity(intentToDetail);
}
}
});
}
}
else
((TextView)tempContentViewMode.findViewById(R.id.no_people)).setVisibility(View.VISIBLE);

return tempContentViewMode;
}

if(showCouponCount>0 && position<=showMayorCount+showVisitorCount+showCouponCount){
if(position==showMayorCount+showVisitorCount+1){
View tempContentViewMode=contentTipsInflater.inflate(R.layout.place_item_mode, null);
if(poiShow.getPoi()!=null){
((TextView)tempContentViewMode.findViewById(R.id.headbar_tv)).setText("惊喜 发现"+poiShow.getPoi().getCoupons_count()+"个");
}
tempContentViewMode.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
Intent intent = new Intent(Place_Detail_Mode.this, PlaceCouponActivity.class);
intent.putExtra("com.peptalk.client.kaikai.poiID", poiID);
startActivity(intent);
}
});
(tempContentViewMode.findViewById(R.id.show_text_panel)).setVisibility(View.GONE);


return tempContentViewMode;
}
else{
View temp_View_tip = contentTipsInflater.inflate(R.layout.weibo, null);
temp_View_tip.findViewById(R.id.weibo_pic).setVisibility(View.GONE);
((TextView)temp_View_tip.findViewById(R.id.weibo_message)).setText(couponTemp.get(0).getMessage());
((TextView)temp_View_tip.findViewById(R.id.weibo_tail)).setText(couponTemp.get(0).getPoi_name());

temp_View_tip.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
Intent intentToDetail = new Intent(Place_Detail_Mode.this, CouponDetailActivity.class);
intentToDetail.putExtra("com.peptalk.client.kaikai.couponId",couponTemp.get(0).getId());
intentToDetail.putExtra("com.peptalk.client.kaikai.from","placedetail");
startActivity(intentToDetail);
}
});
return temp_View_tip;
}
}

if(showTipCount>0 && position<=showMayorCount+showVisitorCount+showCouponCount+showTipCount){

if(position==showMayorCount+showVisitorCount+showCouponCount+1){
View tempContentViewMode=contentTipsInflater.inflate(R.layout.place_item_mode, null);
(tempContentViewMode.findViewById(R.id.show_text_panel)).setVisibility(View.GONE);

if(poiShow!=null && poiShow.getPoi()!=null){
((TextView)tempContentViewMode.findViewById(R.id.headbar_tv)).setText("贴士 找到"+poiShow.getPoi().getTips_count()+"篇");

tempContentViewMode.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
Intent intent = new Intent(Place_Detail_Mode.this, PlaceTipActivity.class);
intent.putExtra("com.peptalk.client.kaikai.poiID", poiID);
startActivity(intent);
}
});
}
return tempContentViewMode;
}
else{

tempStatus=statusVector.get(0);
View temp_View_tip = contentTipsInflater.inflate(R.layout.weibo, null);
temp_View_tip.findViewById(R.id.weibo_pic).setVisibility(View.GONE);
tempView=(TextView)temp_View_tip.findViewById(R.id.weibo_message);
tempView.setText(tempStatus.getText());
tempView=(TextView)temp_View_tip.findViewById(R.id.weibo_tail);
tempView.setText(SomeUtil.getTimeOffset(tempStatus.getCreate_at()));

final String tipId = tempStatus.getId();
final String userId=tempStatus.getUser_concise().getId();
final String screenName = tempStatus.getUser_concise().getScreen_name();
final String addressName =tempStatus.getPoi_concise().getName();
final String content = tempStatus.getText();
final String porUrl = tempStatus.getUser_concise().getProfile_image_url();
final String timeCreate = tempStatus.getCreate_at();
final String displayTimeStr = SomeUtil.getTimeOffset(timeCreate);
final String photo =tempStatus.getPhoto_url();
final String isReplyStr = tempStatus.isReply()?"true":"false";
final String userIdStr = tempStatus.getUser_concise().getId();
temp_View_tip.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
if(tipId!=null){
Intent intentToDetail = new Intent(Place_Detail_Mode.this, TipDetailWithCommentActivity.class);
intentToDetail.putExtra( StatusDetailWithCommentActivity.EXTRA_STR_STATUS_ID, tipId);
intentToDetail.putExtra(StatusDetailWithCommentActivity.EXTRA_STR_SCREEN_NAME, screenName);
intentToDetail.putExtra(StatusDetailWithCommentActivity.EXTRA_STR_ADDRESS_NAME, addressName);
intentToDetail.putExtra(StatusDetailWithCommentActivity.EXTRA_STR_STATUS_CONTENT, content);
intentToDetail.putExtra(StatusDetailWithCommentActivity.EXTRA_STR_PROTRAIT_URL, porUrl);
intentToDetail.putExtra(StatusDetailWithCommentActivity.EXTRA_STR_TIME_STR, displayTimeStr);
intentToDetail.putExtra(StatusDetailWithCommentActivity.EXTRA_STR_PROTRAIT_URL, photo==null?"":photo);
intentToDetail.putExtra(StatusDetailWithCommentActivity.EXTRA_STR_HAVE_REPLY, isReplyStr);
intentToDetail.putExtra(StatusDetailWithCommentActivity.EXTRA_STR_USER_ID, userIdStr);
startActivity(intentToDetail);
}
}
});
return temp_View_tip;
}
}

if(showTuangouCount >0 && position<=showMayorCount+showVisitorCount+showCouponCount+showTipCount+showTuangouCount){

if(position==(showMayorCount+showVisitorCount+showCouponCount+showTipCount+1)){
View tempContentViewMode=contentTipsInflater.inflate(R.layout.place_item_mode, null);

((TextView)tempContentViewMode.findViewById(R.id.headbar_tv)).setText("团购 找到"+around_Tuangou.getCount()+"篇");
((TextView)tempContentViewMode.findViewById(R.id.show_text_inf)).setVisibility(View.GONE);
(tempContentViewMode.findViewById(R.id.show_text_panel)).setVisibility(View.GONE);
tempContentViewMode.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
Intent intent = new Intent(Place_Detail_Mode.this, PlaceTuangouActivity.class);
intent.putExtra("com.peptalk.client.kaikai.poiID", poiID);
startActivity(intent);
}
});
return tempContentViewMode;
}
else{
View temp_View_tip = contentTipsInflater.inflate(R.layout.weibo, null);
temp_View_tip.findViewById(R.id.weibo_pic).setVisibility(View.GONE);
final Poiext tuangou=(Poiext)tempTuangous.get(0);

if(tuangou!=null){
((TextView)temp_View_tip.findViewById(R.id.weibo_message)).setText(tuangou.getMessage());
((TextView)temp_View_tip.findViewById(R.id.weibo_tail)).setText(tuangou.getPoi_address()+" "+SomeUtil.getTimeOffset(tuangou.getCreate_at()));
temp_View_tip.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
Intent intent = new Intent(Place_Detail_Mode.this, PlaceWeiboDetailActive.class);
intent.putExtra("type","tuangou");
intent.putExtra("id",tuangou.getId());
startActivity(intent);
}
});
}
return temp_View_tip;
}
}

if(showWeiboCount>0 && position<=showMayorCount+showVisitorCount+showCouponCount+showTipCount+showTuangouCount+showWeiboCount){

if(position==(showMayorCount+showVisitorCount+showCouponCount+showTipCount+showTuangouCount+1)){
View tempContentViewMode=contentTipsInflater.inflate(R.layout.place_item_mode, null);
((TextView)tempContentViewMode.findViewById(R.id.headbar_tv)).setText(around_Weibo.getTitle()+(around_Weibo.getCount())+"篇");
((TextView)tempContentViewMode.findViewById(R.id.show_text_inf)).setVisibility(View.GONE);
(tempContentViewMode.findViewById(R.id.show_text_panel)).setVisibility(View.GONE);

tempContentViewMode.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
Intent intent = new Intent(Place_Detail_Mode.this, PlaceWeiboActivity.class);
intent.putExtra("com.peptalk.client.kaikai.poiID", poiID);
startActivity(intent);
}
});
return tempContentViewMode;
}
else{
View temp_View_tip = contentTipsInflater.inflate(R.layout.weibo, null);
temp_View_tip.findViewById(R.id.weibo_pic).setVisibility(View.GONE);

final Poiext weibo=(Poiext)tempWeiBos.get(0);
((TextView)temp_View_tip.findViewById(R.id.weibo_message)).setText(weibo.getMessage());
((TextView)temp_View_tip.findViewById(R.id.weibo_tail)).setText(weibo.getPoi_address()+" "+SomeUtil.getTimeOffset(weibo.getCreate_at()));

temp_View_tip.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
Intent intent = new Intent(Place_Detail_Mode.this, PlaceWeiboDetailActive.class);
intent.putExtra("id", weibo.getId());
intent.putExtra("type","weibo");
startActivity(intent);
}
});

return temp_View_tip;
}
}

if(showNewsCount>0 && position<=showMayorCount+showVisitorCount+showCouponCount+showTipCount+showTuangouCount+showWeiboCount+showNewsCount){
if(position==showMayorCount+showVisitorCount+showCouponCount+showTipCount+showTuangouCount+showWeiboCount+1){
View tempContentViewMode=contentTipsInflater.inflate(R.layout.place_item_mode, null);
((TextView)tempContentViewMode.findViewById(R.id.headbar_tv)).setText("旧闻 找到"+tempTuangous.size()+"篇");
((TextView)tempContentViewMode.findViewById(R.id.show_text_inf)).setVisibility(View.GONE);
(tempContentViewMode.findViewById(R.id.show_text_panel)).setVisibility(View.GONE);
return tempContentViewMode;
}
else{
View temp_View_tip = contentTipsInflater.inflate(R.layout.listitem_tips, null);
return temp_View_tip;
}
}
return null;
}
}
private void topMenuAction(){ //顶部菜单具体显示和动作

Button backButton=(Button)findViewById(R.id.head2_b_1);
backButton.setText("返回");
backButton.setOnClickListener(new OnClickListener(){
public void onClick(View v) {

/*if(fromWhere!=null && "add".equals(fromWhere)){//从新建地点返回来的
KaiApplication kaiApp = (KaiApplication)getApplicationContext();
kaiApp.setActiveTime(System.currentTimeMillis());
KaiService.checkUIOperate();
Intent intentToPlace = new Intent(Place_Detail_Mode.this, PlaceHomeActivity.class);
intentToPlace.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intentToPlace);

}
else{
Place_Detail_Mode.this.finish();
}*/

Place_Detail_Mode.this.finish();

}
});
findViewById(R.id.top_bar_button).setVisibility(View.GONE);

} public void onStart() {
super.onStart();

if(!getSharedPreferences(BaseActivity.SETTING_INFOS, 0)
.getBoolean(BaseActivity.LOGINED, false)){
this.finish();
}
}

public void onResume(){
super.onResume();
if("T".equals(BaseActivity.activityStatus.get("PlaceDetailActivity"))){
Intent intentTo = new Intent(Place_Detail_Mode.this, PlaceDetailActivity.class);
intentTo.putExtra("com.peptalk.client.kaikai.PoiId",poiID);
intentTo.putExtra("com.peptalk.client.kaikai.from","other");
intentTo.putExtra("com.peptalk.client.kaikai.poiName",poiNameStr);
intentTo.putExtra("com.peptalk.client.kaikai.poiAddress",poiAddressStr);
startActivity(intentTo); Place_Detail_Mode.this.finish();
}
}

public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, MENU_REFRESH, 0, R.string.reflash).setIcon(R.drawable.refresh_menu);

if(!isFavorited){
menu.add(0, MENU_COLLECT, 0, R.string.collect).setIcon(R.drawable.collecting);
}
else{
menu.add(0, MENU_COLLECT, 0, R.string.uncollect).setIcon(R.drawable.collecting);
}
menu.add(0, MENU_REPORT, 0, R.string.correcting).setIcon(R.drawable.correcting);

menu.add(0, MENU_BACK_TOP, 0, R.string.backto_first_menu).setIcon(R.drawable.backhome);
return super.onCreateOptionsMenu(menu);
}

public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case MENU_COLLECT:
if(item.getTitle().equals(getString(R.string.collect))){//当前是收藏
item.setTitle(getString(R.string.uncollect));
new Thread(){
public void run(){
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
if(poiID != null && !poiID.equals("")){
nameValuePairs.add(new BasicNameValuePair("id", poiID));
String url = " http://"+INFO.HOST_IP+":"+INFO.HOST_PORT+"/api/poi/favorites/create.xml";
collectAction(url,nameValuePairs);
}
}
}.start();
}
else if(item.getTitle().equals(getString(R.string.uncollect))){//撤销收藏
item.setTitle(getString(R.string.collect));
new Thread(){
public void run(){
ArrayList<NameValuePair> cancelNameValuePairs = new ArrayList<NameValuePair>();
if(poiID != null && !poiID.equals("")){
cancelNameValuePairs.add(new BasicNameValuePair("id", poiID));
String url = " http://"+INFO.HOST_IP+":"+INFO.HOST_PORT+"/api/poi/favorites/destroy.xml";
unCollectAction(url,cancelNameValuePairs);
}
}
}.start();
}
break;
case MENU_CANCEL_COLLECT:
item.setTitle(getString(R.string.collect));
new Thread(){
public void run(){
ArrayList<NameValuePair> cancelNameValuePairs = new ArrayList<NameValuePair>();
if(poiID != null && !poiID.equals("")){
cancelNameValuePairs.add(new BasicNameValuePair("id", poiID));
String url = " http://"+INFO.HOST_IP+":"+INFO.HOST_PORT+"/api/poi/favorites/destroy.xml";
unCollectAction(url,cancelNameValuePairs);
}
}
}.start();

break;
case MENU_REPORT:
showDialog(DIALOG_REPORT);
break;
case MENU_BACK_TOP:
Intent intentToTop = new Intent(Place_Detail_Mode.this, FriendHomeActivity.class);
intentToTop.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intentToTop);
break;
case MENU_REFRESH:
topProgressBar.setVisibility(View.VISIBLE);
new Thread(){
public void run(){
String url = " http://"+INFO.HOST_IP+":"+INFO.HOST_PORT+ "/api/poi/show.xml?id="+poiID+"&visitors=true&coupon=true&tip=true&poi=true&around=true";
getPlaceDetailAction(url);
}
}.start();
break;
}
return super.onOptionsItemSelected(item);
}

/**
* 收藏地点
*/
private void collectAction(String url,ArrayList<NameValuePair> nameValuePairs) {

if(poiShow == null){
poiShow = new PoiShow();
}

Network.getNetwork(this).httpPostUpdate(url,nameValuePairs ,poiShow);

if(poiShow.getError()!=null){
responseString = poiShow.getError().getErrorCode() + "" + poiShow.getError().getErrorMessage();
sendMessage(MESSAGE_VISITOR_ERROR);
return ;
}
poiShow.getPoi().setFavorited(true);
responseString = getString(R.string.collectok);
sendMessage(MESSAGE_VISITOR_ERROR);
}

/**
* 取消收藏本地
* @param url
* @return
*/
private void unCollectAction(String url,ArrayList<NameValuePair> nameValuePairs){
if(poiShow == null){
poiShow = new PoiShow();
}
Network.getNetwork(this).httpPostUpdate(url, nameValuePairs, poiShow);
if(poiShow.getError()!=null){
responseString = poiShow.getError().getErrorCode() + " " + poiShow.getError().getErrorMessage();
sendMessage(MESSAGE_VISITOR_ERROR);
return ;
}
poiShow.getPoi().setFavorited(false);
responseString = getString(R.string.undo_ok);
sendMessage(MESSAGE_VISITOR_ERROR);
}

/***************************创建纠错*********************************/
protected Dialog onCreateDialog(int id){
switch(id){
case DIALOG_REPORT:
return buildDialogReport(this);
}
return null;
}

private Dialog buildDialogReport(Context context){
LayoutInflater inflater = LayoutInflater.from(this);
final View textEntryView = inflater.inflate(R.layout.place_report, null);

AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(android.R.drawable.ic_dialog_alert);
builder.setTitle(R.string.placedetail_report);
builder.setView(textEntryView);

builder.setPositiveButton(R.string.correcting,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
RadioButton radioButtonUnConformity = (RadioButton)textEntryView.findViewById(R.id.report_rb_unconformity);
RadioButton radioButtonClosedown = (RadioButton)textEntryView.findViewById(R.id.report_rb_closedown);
RadioButton radioButtonRepetitive = (RadioButton)textEntryView.findViewById(R.id.report_rb_repetitive);
RadioButton radioButtonOther = (RadioButton)textEntryView.findViewById(R.id.report_rb_other);
String reason = "other";//reason: incorrect|closedown|duplicate|other
if(radioButtonUnConformity.isChecked()){
reason = "incorrect";
}else if(radioButtonClosedown.isChecked()){
reason = "closedown";
}else if(radioButtonRepetitive.isChecked()){
reason = "duplicate";
}else if(radioButtonOther.isChecked()){
reason = "other";
}
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("id", poiID));
nameValuePairs.add(new BasicNameValuePair("reason", reason));
String url = " http://"+INFO.HOST_IP+":"+INFO.HOST_PORT+"/api/poi/report.xml";
reportAction(url,nameValuePairs);
}
});

builder.setNegativeButton(R.string.cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {

}
});

return builder.create();
}

private void reportAction(final String url, final ArrayList<NameValuePair> nameValuePairs){
new Thread(){
public void run(){
PoiReport poiReport = new PoiReport();
Network.getNetwork(Place_Detail_Mode.this).httpPostUpdate(url, nameValuePairs, poiReport);
if(poiReport.getError()!=null){
responseString = poiReport.getError().getErrorMessage();
sendMessage(MESSAGE_VISITOR_ERROR);
return ;
}
responseString = poiReport.getMessage();
sendMessage(MESSAGE_VISITOR_ERROR);
}
}.start();
}


}

更多相关文章

  1. Android的数据过滤机制
  2. android使用HTTP协议读取数据
  3. android升级数据库(Sqlite)简单示例
  4. Android Room 数据库
  5. android 数据保存与提取
  6. android数据库操作
  7. sqlit导入外部数据库查找数据方法
  8. Android 和 PHP 之间进行数据加密传输

随机推荐

  1. android SlidingDrawer左右滑动 上下滑动
  2. Android持久化之SharedPreferences
  3. Android批量打包提速 - 1分钟900个市场不
  4. Android中FontMetrics的几个属性全面讲解
  5. android存储路径问题
  6. android studio系列之获取数字签名
  7. Android环境搭建(Windows)
  8. Android(安卓)Bluetooth蓝牙开发\蓝牙协
  9. Android新姿势:3D翻转效果原理
  10. Android命令行启动程序-am命令的使用-纠