package com.partynetwork.iparty.imessage;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.Handler.Callback;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.TextView;
import com.partynetwork.iparty.R;
import com.partynetwork.iparty.app.AppContext;
import com.partynetwork.iparty.app.AppException;
import com.partynetwork.iparty.app.common.BitmapManager;
import com.partynetwork.iparty.app.common.UIHelper;
import com.partynetwork.iparty.app.entities.CommonUser;
import com.partynetwork.iparty.app.manager.UserManager;
import com.partynetwork.iparty.info.UserInfo;
import com.partynetwork.myview.myimageview.CircularImage;
/**
* 聊天-功能选择界面
*/
public class MessageSplashActivity extends Activity implements OnClickListener,
Callback {
private CircularImage head;
private TextView name;
private int Uid;
private CommonUser user;
private Handler mHandler;
private BitmapManager bitmapManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.message_splash);
Uid = getIntent().getIntExtra("Uid", 0);
initView();
initData();
}
private void initData() {
mHandler = new Handler(this);
bitmapManager = new BitmapManager();
user = UserManager.getInstance(this).getUserbyId(Uid + "");
if (user == null) {
getUserInfo(Uid);
} else {
initViewData();
}
}
private void initViewData() {
if (user == null) {
return;
}
bitmapManager.loadBitmap(user.getUserHeadUrl(), head);
name.setText(user.getUserName());
// 性别
int res = 0;
switch (user.getUserSex()) {
case 0:
res = R.drawable.sex_boy_big_pressed;
break;
case 1:
res = R.drawable.sex_girl_big_pressed;
break;
case 2:
res = R.drawable.sex_neutral_big_pressed;
break;
default:
res = R.drawable.sex_boy_big_pressed;
break;
}
Drawable drawable = getResources().getDrawable(res);
drawable.setBounds(0, 0, drawable.getMinimumWidth(),
drawable.getMinimumHeight());
name.setCompoundDrawables(null, null, drawable, null);
}
/**
* 获得用户信息
*
* @param userId
*/
private void getUserInfo(final int userId) {
new Thread() {
public void run() {
Message msg = new Message();
try {
AppContext context = (AppContext) getApplication();
UserInfo info = context.getUserInfo(userId);
CommonUser user = new CommonUser();
user.setUserAge(info.getUserAge());
user.setUserHeadUrl(info.getUserHeadUrl());
user.setUserId(info.getUserId());
user.setUserName(info.getUserName());
user.setUserSex(info.getUserSex());
user.setUserState(info.getUserState());
msg.what = 2;// 成功
msg.obj = user;
} catch (AppException e) {
e.printStackTrace();
msg.what = -1;
msg.obj = e;
}
mHandler.sendMessage(msg);
}
}.start();
}
private void initView() {
initHeadView();
head = (CircularImage) findViewById(R.id.head);
name = (TextView) findViewById(R.id.name);
findViewById(R.id.show_center_ll).setOnClickListener(this);
findViewById(R.id.message).setOnClickListener(this);
}
private void initHeadView() {
findViewById(R.id.menu_head_left).setOnClickListener(this);
findViewById(R.id.menu_head_middle).setOnClickListener(this);
findViewById(R.id.menu_head_right).setOnClickListener(this);
ImageView mHeadLeftImage = (ImageView) findViewById(R.id.menu_head_left_iv);
mHeadLeftImage.setImageResource(R.drawable.menu_head_back);
TextView mHeadTitle = (TextView) findViewById(R.id.menu_head_middle_text);
mHeadTitle.setText("详细信息");
mHeadTitle.setTextColor(Color.BLACK);
ImageView mHeadMiddleImage = (ImageView) findViewById(R.id.menu_head_middle_img);
mHeadMiddleImage.setVisibility(View.GONE);
ImageView mHeadRightImage = (ImageView) findViewById(R.id.menu_head_right_iv);
mHeadRightImage.setVisibility(View.INVISIBLE);
}
public void onClick(View view) {
switch (view.getId()) {
case R.id.menu_head_left:
// 关闭
finish();
break;
case R.id.show_center_ll:
UIHelper.showUserCenter(this, Uid);
finish();
break;
case R.id.message:
UIHelper.showChat(this, Uid + "");
finish();
break;
default:
break;
}
}
@Override
public boolean handleMessage(Message msg) {
switch (msg.what) {
case 2:
// 成功获取用户信息
user = (CommonUser) msg.obj;
if (user == null) {
return false;
}
UserManager.getInstance(this).saveOrUpdateUser(user);
initViewData();
break;
default:
break;
}
return false;
}
@Override
protected void onPause() {
super.onPause();
}
@Override
protected void onResume() {
super.onResume();
}
}