package tk.djcrazy.MyCC98;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.text.Html;
import android.widget.ImageView;
import android.widget.TextView;
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.NetworkImageView;
import com.google.inject.Inject;
import com.manuelpeinado.fadingactionbar.FadingActionBarHelper;
import roboguice.inject.ContentView;
import roboguice.inject.InjectExtra;
import roboguice.util.RoboAsyncTask;
import tk.djcrazy.MyCC98.util.Intents;
import tk.djcrazy.MyCC98.util.Intents.Builder;
import tk.djcrazy.MyCC98.util.ProgressRoboAsyncTask;
import tk.djcrazy.MyCC98.util.ToastUtils;
import tk.djcrazy.libCC98.CachedCC98Service;
import tk.djcrazy.libCC98.NewCC98Service;
import tk.djcrazy.libCC98.data.UserProfileEntity;
import tk.djcrazy.libCC98.util.RequestResultListener;
@ContentView(R.layout.activity_user_profile)
public
class ProfileActivity extends BaseFragmentActivity implements
RequestResultListener<UserProfileEntity>{
private static final int MENU_SEND_MESSAGE_ID = 8790124;
private static final String USER_NAME = "userName";
private TextView userName;
private NetworkImageView userPortrait;
private TextView loginStatues;
private TextView userNickName;
private TextView userLevel;
private TextView userGroup;
private TextView goodPosts;
private TextView totalPosts;
private TextView userPrestige;
private TextView registerTime;
private TextView loginTimes;
private TextView deletedPosts;
private TextView deletedRatio;
private TextView lastLoginTime;
private TextView userGender;
private TextView userBirthday;
private TextView userConstellation;
private TextView userEmail;
private TextView userQQ;
private TextView userMSN;
private TextView userPage;
@InjectExtra(USER_NAME)
private String mUserName;
@Inject
private NewCC98Service mNewCC98Service;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar actionBar = getSupportActionBar();
actionBar.setLogo(R.drawable.personal_profile_icon);
actionBar.setTitle("用户资料");
actionBar.setDisplayHomeAsUpEnabled(true);
FadingActionBarHelper helper = new FadingActionBarHelper()
.actionBarBackground(R.drawable.ab_solid_mycc98)
.headerLayout(R.layout.activity_profile_header)
.contentLayout(R.layout.activity_user_profile);
setContentView(helper.createView(this));
helper.initActionBar(this);
findViews();
mNewCC98Service.submitUserProfileRequest(this.getClass(), mUserName, this);
}
@Override
public boolean onCreateOptionsMenu(Menu optionMenu) {
optionMenu.add(android.view.Menu.NONE, MENU_SEND_MESSAGE_ID, 1, "站短")
.setIcon(R.drawable.sure_btn)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
return true;
case MENU_SEND_MESSAGE_ID:
Intents.Builder builder = new Builder(this, EditActivity.class);
Intent intent = builder.requestType(EditActivity.REQUEST_PM)
.pmToUser(mUserName).toIntent();
startActivity(intent);
}
return true;
}
@Override
public void onRequestComplete(UserProfileEntity result) {
setContents(result);
}
@Override
public void onRequestError(String msg) {
ToastUtils.alert(this, msg);
}
private void findViews() {
userName = (TextView) findViewById(R.id.profile_user_name);
userPortrait = (NetworkImageView) findViewById(R.id.profile_image);
loginStatues = (TextView) findViewById(R.id.profile_online_statues);
userNickName = (TextView) findViewById(R.id.profile_user_nick_name);
userLevel = (TextView) findViewById(R.id.profile_user_level);
userEmail = (TextView) findViewById(R.id.profile_user_email);
userGroup = (TextView) findViewById(R.id.profile_user_group);
goodPosts = (TextView) findViewById(R.id.profile_good_posts);
totalPosts = (TextView) findViewById(R.id.profile_total_posts);
userPrestige = (TextView) findViewById(R.id.profile_user_prestige);
registerTime = (TextView) findViewById(R.id.profile_register_time);
loginTimes = (TextView) findViewById(R.id.profile_login_times);
deletedPosts = (TextView) findViewById(R.id.profile_deleted_posts);
deletedRatio = (TextView) findViewById(R.id.profile_deleted_ratio);
lastLoginTime = (TextView) findViewById(R.id.profile_last_login_time);
userGender = (TextView) findViewById(R.id.profile_user_gender);
userBirthday = (TextView) findViewById(R.id.profile_user_birthday);
userConstellation = (TextView) findViewById(R.id.profile_user_constellation);
userQQ = (TextView) findViewById(R.id.profile_user_qq);
userMSN = (TextView) findViewById(R.id.profile_user_msn);
userPage = (TextView) findViewById(R.id.profile_user_page);
}
protected void setContents(UserProfileEntity profileEntity) {
userName.setText(mUserName);
userPortrait.setImageUrl(profileEntity.getUserAvatarLink(), mNewCC98Service.getImageLoader());
userNickName.setText(profileEntity.getUserNickName());
userLevel.setText(profileEntity.getUserLevel());
userGroup.setText(profileEntity.getUserGroup());
goodPosts.setText(profileEntity.getGoodPosts());
totalPosts.setText(profileEntity.getTotalPosts());
userPrestige.setText(profileEntity.getUserPrestige());
registerTime.setText(profileEntity.getRegisterTime());
loginTimes.setText(profileEntity.getLoginTimes());
deletedPosts.setText(profileEntity.getDeletedPosts());
deletedRatio.setText(profileEntity.getDeletedRatio());
lastLoginTime.setText(profileEntity.getLastLoginTime());
userGender.setText(profileEntity.getUserGender());
userConstellation.setText(profileEntity.getUserConstellation());
userEmail.setText(profileEntity.getUserEmail());
userBirthday.setText(profileEntity.getUserBirthday());
userQQ.setText(profileEntity.getUserQQ());
userMSN.setText(profileEntity.getUserMSN());
userPage.setText(profileEntity.getUserPage());
loginStatues.setText(profileEntity.getOnlineTime());
}
}