package com.snail.travellingTrail.slidingmenu.controller;
import java.util.Map;
import net.tsz.afinal.FinalHttp;
import net.tsz.afinal.http.AjaxCallBack;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import android.widget.Toast;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;
import com.snail.travellingTrail.R;
import com.snail.travellingTrail.common.RequestAddress;
import com.snail.travellingTrail.common.ResponseList;
import com.snail.travellingTrail.common.TravellingTrailApplication;
import com.snail.travellingTrail.common.utils.JsonUtil;
import com.snail.travellingTrail.common.utils.ToastHelper;
import com.snail.travellingTrail.main.controller.MainTabActivity;
import com.snail.travellingTrail.socialIntercourse.controller.FansListActivity;
import com.snail.travellingTrail.socialIntercourse.controller.FollowsListActivity;
public class SetAppInfoFaceAnimation extends SlidingFragmentActivity{
TextView loginTv,registerTv,aboutTv, logoutTv, reviseInformationTv,updateTv,nickNameTv,fansTv,followsTv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setBehindContentView(R.layout.activity_appinfo);
findId();
if (savedInstanceState == null) {
FragmentTransaction t = this.getSupportFragmentManager().beginTransaction();
t.commit();
}
// customize the SlidingMenu
SlidingMenu sm = getSlidingMenu();
sm.setShadowWidthRes(R.dimen.shadow_width);
sm.setShadowDrawable(R.drawable.shadow);
sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
sm.setFadeDegree(0.35f);
sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
sm.setBackgroundColor(getResources().getColor(R.color.slidingmenu_gray));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
private void findId() {
loginTv = (TextView)findViewById(R.id.act_appinfo_tv_login);
registerTv = (TextView)findViewById(R.id.act_appinfo_tv_register);
aboutTv = (TextView)findViewById(R.id.act_appinfo_tv_about);
reviseInformationTv = (TextView)findViewById(R.id.act_appinfo_tv_revise_informartion);
logoutTv = (TextView)findViewById(R.id.act_appinfo_tv_logout);
updateTv = (TextView)findViewById(R.id.act_appinfo_tv_update);
nickNameTv = (TextView)findViewById(R.id.act_appinfo_tv_nickname);
fansTv = (TextView)findViewById(R.id.act_appinfo_tv_fans);
followsTv = (TextView)findViewById(R.id.act_appinfo_tv_follows);
setListener();
}
private void setListener() {
loginTv.setOnClickListener(new ButtonClick());
registerTv.setOnClickListener(new ButtonClick());
aboutTv.setOnClickListener(new ButtonClick());
logoutTv.setOnClickListener(new ButtonClick());
reviseInformationTv.setOnClickListener(new ButtonClick());
updateTv.setOnClickListener(new ButtonClick());
fansTv.setOnClickListener(new ButtonClick());
followsTv.setOnClickListener(new ButtonClick());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// getSupportMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
toggle();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
private class ButtonClick implements OnClickListener{
@Override
public void onClick(View v) {
Intent intent = new Intent();
switch (v.getId()) {
case R.id.act_appinfo_tv_login:
intent.setClass(SetAppInfoFaceAnimation.this, LoginActivity.class);
startActivity(intent);
break;
case R.id.act_appinfo_tv_register:
intent.setClass(SetAppInfoFaceAnimation.this,RegisterActivity.class);
startActivity(intent);
break;
case R.id.act_appinfo_tv_about:
intent.setClass(SetAppInfoFaceAnimation.this,AboutActivity.class);
startActivity(intent);
break;
case R.id.act_appinfo_tv_logout:
TravellingTrailApplication.loginUser = null;
ResponseList.MyInfoMap = null;
loginTv.setVisibility(View.VISIBLE);
registerTv.setVisibility(View.VISIBLE);
reviseInformationTv.setVisibility(View.GONE);
logoutTv.setVisibility(View.GONE);
nickNameTv.setText("");
// nickNameTv.setTextColor(SetAppInfoFaceAnimation.this.getResources().getColor(R.color.white));
MainTabActivity.refresh = true;
break;
case R.id.act_appinfo_tv_revise_informartion:
if(TravellingTrailApplication.loginUser != null)
{
intent.setClass(SetAppInfoFaceAnimation.this,UserInfoEditActivity.class);
}else{
intent.setClass(SetAppInfoFaceAnimation.this, LoginActivity.class);
}
startActivity(intent);
break;
case R.id.act_appinfo_tv_update:
update();
break;
case R.id.act_appinfo_tv_fans:
if(TravellingTrailApplication.loginUser != null)
{
intent.setClass(SetAppInfoFaceAnimation.this,FansListActivity.class);
intent.putExtra("userId", TravellingTrailApplication.loginUser.getUs_Info_Us_Id());
}else{
intent.setClass(SetAppInfoFaceAnimation.this, LoginActivity.class);
}
startActivity(intent);
break;
case R.id.act_appinfo_tv_follows:
if(TravellingTrailApplication.loginUser != null)
{
intent.setClass(SetAppInfoFaceAnimation.this,FollowsListActivity.class);
intent.putExtra("userId", TravellingTrailApplication.loginUser.getUs_Info_Us_Id());
}else{
intent.setClass(SetAppInfoFaceAnimation.this, LoginActivity.class);
}
startActivity(intent);
break;
default:
break;
}
}
}
@Override
protected void onResume() {
if(TravellingTrailApplication.loginUser != null){
loginTv.setVisibility(View.GONE);
registerTv.setVisibility(View.GONE);
logoutTv.setVisibility(View.VISIBLE);
reviseInformationTv.setVisibility(View.VISIBLE);
fansTv.setVisibility(View.VISIBLE);
followsTv.setVisibility(View.VISIBLE);
if(ResponseList.MyInfoMap.get("Us_Nickname")!=null
&& !ResponseList.MyInfoMap.get("Us_Nickname").equals("")
&& !ResponseList.MyInfoMap.get("Us_Nickname").equals("null")){
nickNameTv.setText(ResponseList.MyInfoMap.get("Us_Nickname").toString());
nickNameTv.setTextColor(this.getResources().getColor(R.color.white));
}else {
nickNameTv.setHint("木有昵称");
}
}
super.onResume();
}
public void update() {
FinalHttp mFinalHttp = new FinalHttp();
mFinalHttp.get(RequestAddress.UPDATE, new AjaxCallBack<String>(){
@Override
public void onSuccess(String t) {
analyzeJson(t);
super.onSuccess(t);
}
@Override
public void onFailure(Throwable t, int errorNo, String strMsg) {
ToastHelper.showToast(SetAppInfoFaceAnimation.this, "请检测网络", Toast.LENGTH_SHORT);
super.onFailure(t, errorNo, strMsg);
}
});
}
private void analyzeJson(String json){
Map<String,String> map = JsonUtil.parseJson1(json);
Log.i("getVersionName", map.get("Client_Info_Version"));
if(map.get("Client_Info_Version").equals(getVersionName())){
ToastHelper.showToast(this, "已经是最新版本", Toast.LENGTH_SHORT);
}else{
ToastHelper.showToast(this, "请到"+map.get("Client_Info_Download_Url")+"下载", Toast.LENGTH_SHORT);
}
}
private String getVersionName(){
// 获取packagemanager的实例
PackageManager packageManager = getPackageManager();
// getPackageName()是你当前类的包名,0代表是获取版本信息
PackageInfo packInfo = null;
try {
packInfo = packageManager.getPackageInfo(getPackageName(),
0);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String version = packInfo.versionName;
Log.i("getVersionName", version);
return version;
}
}