package com.example.lovetalk.activity; import android.content.Context; import android.content.Intent; import android.os.Build; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.avos.avoscloud.AVException; import com.avos.avoscloud.AVFile; import com.avos.avoscloud.AVObject; import com.avos.avoscloud.AVQuery; import com.avos.avoscloud.AVUser; import com.avos.avoscloud.GetCallback; import com.example.lovetalk.DemoApplication; import com.example.lovetalk.R; import com.example.lovetalk.service.AddRequestService; import com.example.lovetalk.service.UserService; import java.util.List; public class PersonInfoActivity extends BaseActivity implements OnClickListener { public static final String USER_ID = "userId"; TextView usernameView, genderView; ImageView avatarView, avatarArrowView; LinearLayout allLayout; Button chatBtn, addFriendBtn; RelativeLayout avatarLayout, genderLayout; String userId = ""; AVUser user; public static String[] genderStrings = new String[]{ DemoApplication.context.getString(R.string.male), DemoApplication.context.getString(R.string.female)}; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); //meizu? int currentApiVersion = Build.VERSION.SDK_INT; if (currentApiVersion >= 14) { getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); } setContentView(R.layout.contact_person_info_activity); findView(); initData(); } private void initData() { userId = getIntent().getStringExtra(USER_ID); user = DemoApplication.lookupUser(userId); if (user == null) { AVQuery<AVObject> query = new AVQuery<AVObject>("_User"); query.getInBackground(userId, new GetCallback<AVObject>() { @Override public void done(AVObject arg0, AVException arg1) { user = (AVUser) arg0; // TODO Auto-generated method stub initView(); return; } }); } else { initView(); } } private void findView() { allLayout = (LinearLayout) findViewById(R.id.all_layout); avatarView = (ImageView) findViewById(R.id.avatar_view); avatarArrowView = (ImageView) findViewById(R.id.avatar_arrow); usernameView = (TextView) findViewById(R.id.username_view); avatarLayout = (RelativeLayout) findViewById(R.id.head_layout); genderLayout = (RelativeLayout) findViewById(R.id.sex_layout); genderView = (TextView) findViewById(R.id.sexView); chatBtn = (Button) findViewById(R.id.chatBtn); addFriendBtn = (Button) findViewById(R.id.addFriendBtn); } private void initView() { AVUser curUser = AVUser.getCurrentUser(); if (curUser.equals(user)) { initActionBar(R.string.personalInfo); avatarLayout.setOnClickListener(this); genderLayout.setOnClickListener(this); avatarArrowView.setVisibility(View.VISIBLE); chatBtn.setVisibility(View.GONE); addFriendBtn.setVisibility(View.GONE); } else { initActionBar(R.string.detailInfo); avatarArrowView.setVisibility(View.INVISIBLE); try { List<AVUser> cacheFriends = UserService.findFriends(true); boolean isFriend = cacheFriends.contains(user); if (isFriend) { chatBtn.setVisibility(View.VISIBLE); chatBtn.setOnClickListener(this); } else { chatBtn.setVisibility(View.GONE); addFriendBtn.setVisibility(View.VISIBLE); addFriendBtn.setOnClickListener(this); } } catch (Exception e) { e.printStackTrace(); } } updateView(user); } public static void goPersonInfo(Context ctx, String userId) { Intent intent = new Intent(ctx, PersonInfoActivity.class); intent.putExtra(USER_ID, userId); ctx.startActivity(intent); } public String getAvatarUrl(AVUser user) { AVFile avatar = user.getAVFile("avatar"); if (avatar != null) { return avatar.getUrl(); } else { return null; } } private void updateView(AVUser user) { String avatar = getAvatarUrl(user); UserService.displayAvatar(avatar, avatarView); usernameView.setText(user.getUsername()); genderView.setText(genderStrings[user.getInt("gender")]); } @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.chatBtn:// 发起聊天 // ChatActivity.goUserChat(this, user.getObjectId()); Intent intent = new Intent(); intent.putExtra("tel", "18200156521"); intent.setClass(PersonInfoActivity.this, HomeActivity.class); startActivity(intent); finish(); break; case R.id.addFriendBtn:// 添加好友 AddRequestService.createAddRequestInBackground(mContext, user); break; } } }