| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- package jiguang.chat.activity;
- import android.app.Dialog;
- import android.content.Intent;
- import android.graphics.BitmapFactory;
- import android.os.Bundle;
- import android.text.TextUtils;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ImageButton;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import android.widget.RelativeLayout;
- import android.widget.TextView;
- import net.zoneland.x.bpm.mobile.v1.zoneXBPM.R;
- import java.io.File;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import cn.jpush.im.android.api.JMessageClient;
- import cn.jpush.im.android.api.callback.GetUserInfoCallback;
- import cn.jpush.im.android.api.model.Conversation;
- import cn.jpush.im.android.api.model.UserInfo;
- import cn.jpush.im.android.eventbus.EventBus;
- import jiguang.chat.application.JGApplication;
- import jiguang.chat.entity.Event;
- import jiguang.chat.entity.EventType;
- import jiguang.chat.utils.DialogCreator;
- import jiguang.chat.utils.ToastUtil;
- /**
- * Created by ${chenyn} on 2017/5/10.
- */
- public class GroupNotFriendActivity extends BaseActivity implements View.OnClickListener {
- private ImageView mIv_friendPhoto;
- private TextView mTv_noteName;
- private TextView mTv_sign;
- private TextView mTv_userName;
- private TextView mTv_gender;
- private TextView mTv_birthday;
- private TextView mTv_address;
- private Button mBtn_add_friend;
- private Button mBtn_send_message;
- private String mUserName;
- private UserInfo mUserInfo;
- private String mMyName;
- private RelativeLayout mRl_NickName;
- private TextView mTv_NickName;
- private String mNickName;
- private String mAvatarPath;
- private TextView mTv_additionalMsg;
- private LinearLayout mLl_additional;
- private ImageButton mReturnBtn;
- private ImageView mIvMore;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_group_not_friend);
- initView();
- initData();
- }
- private void initData() {
- final Dialog dialog = DialogCreator.createLoadingDialog(this, this.getString(R.string.jmui_loading));
- dialog.show();
- mUserName = getIntent().getStringExtra(JGApplication.TARGET_ID);
- String reason = getIntent().getStringExtra("reason");
- if (reason == null) {
- mLl_additional.setVisibility(View.GONE);
- } else {
- mLl_additional.setVisibility(View.VISIBLE);
- mTv_additionalMsg.setText("附加消息: " + reason);
- }
- JMessageClient.getUserInfo(mUserName, new GetUserInfoCallback() {
- @Override
- public void gotResult(int responseCode, String responseMessage, UserInfo info) {
- if (responseCode == 0) {
- mUserInfo = info;
- File avatar = info.getAvatarFile();
- if (avatar != null) {
- mAvatarPath = avatar.getAbsolutePath();
- mIv_friendPhoto.setImageBitmap(BitmapFactory.decodeFile(mAvatarPath));
- } else {
- mIv_friendPhoto.setImageResource(R.drawable.rc_default_portrait);
- }
- String noteName = info.getNotename();
- mNickName = info.getNickname();
- //有备注 有昵称
- mTv_userName.setText(mUserName);
- if (!TextUtils.isEmpty(noteName) && !TextUtils.isEmpty(mNickName)) {
- mRl_NickName.setVisibility(View.VISIBLE);
- mTv_NickName.setText(mNickName);
- mTv_noteName.setText("备注名: " + noteName);
- }
- //没有备注 有昵称
- else if (TextUtils.isEmpty(noteName) && !TextUtils.isEmpty(mNickName)) {
- mRl_NickName.setVisibility(View.GONE);
- mTv_noteName.setText("昵称: " + mNickName);
- }
- //有备注 没有昵称
- else if (!TextUtils.isEmpty(noteName) && TextUtils.isEmpty(mNickName)) {
- mRl_NickName.setVisibility(View.VISIBLE);
- mTv_NickName.setText(info.getNickname());
- mTv_noteName.setText("备注名: " + noteName);
- }
- //没有备注名 没有昵称
- else {
- mRl_NickName.setVisibility(View.GONE);
- mTv_noteName.setText("用户名: " + mUserName);
- }
- mTv_sign.setText(info.getSignature());
- if (info.getGender() == UserInfo.Gender.male) {
- mTv_gender.setText("男");
- } else if (info.getGender() == UserInfo.Gender.female) {
- mTv_gender.setText("女");
- } else {
- mTv_gender.setText("未知");
- }
- mTv_birthday.setText(getBirthday(info));
- mTv_address.setText(info.getRegion());
- }
- dialog.dismiss();
- }
- });
- UserInfo myInfo = JMessageClient.getMyInfo();
- mMyName = myInfo.getNickname();
- if (TextUtils.isEmpty(mMyName)) {
- mMyName = myInfo.getUserName();
- }
- }
- private void initView() {
- mReturnBtn = (ImageButton) findViewById(R.id.return_btn);
- mIvMore = (ImageView) findViewById(R.id.iv_more);
- mIv_friendPhoto = (ImageView) findViewById(R.id.iv_friendPhoto);
- mTv_noteName = (TextView) findViewById(R.id.tv_nickName);
- mTv_sign = (TextView) findViewById(R.id.tv_sign);
- mTv_userName = (TextView) findViewById(R.id.tv_userName);
- mTv_gender = (TextView) findViewById(R.id.tv_gender);
- mTv_birthday = (TextView) findViewById(R.id.tv_birthday);
- mTv_address = (TextView) findViewById(R.id.tv_address);
- mBtn_add_friend = (Button) findViewById(R.id.btn_add_friend);
- mBtn_send_message = (Button) findViewById(R.id.btn_send_message);
- mRl_NickName = (RelativeLayout) findViewById(R.id.rl_nickName);
- mTv_NickName = (TextView) findViewById(R.id.tv_nick);
- mTv_additionalMsg = (TextView) findViewById(R.id.tv_additionalMsg);
- mLl_additional = (LinearLayout) findViewById(R.id.ll_additional);
- mBtn_add_friend.setOnClickListener(this);
- mBtn_send_message.setOnClickListener(this);
- mReturnBtn.setOnClickListener(this);
- mIvMore.setOnClickListener(this);
- }
- public String getBirthday(UserInfo info) {
- long birthday = info.getBirthday();
- Date date = new Date(birthday);
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- return dateFormat.format(date);
- }
- @Override
- public void onClick(View v) {
- Intent intent = new Intent();
- switch (v.getId()) {
- case R.id.btn_add_friend:
- if (mUserInfo.isFriend()) {
- ToastUtil.shortToast(GroupNotFriendActivity.this, "对方已经是你的好友");
- } else {
- intent.setClass(GroupNotFriendActivity.this, VerificationActivity.class);
- //对方信息
- intent.putExtra("detail_add_friend", mUserName);
- intent.putExtra("detail_add_nick_name", mNickName);
- intent.putExtra("detail_add_avatar_path", mAvatarPath);
- //自己的昵称或者是用户名
- intent.putExtra("detail_add_friend_my_nickname", mMyName);
- intent.setFlags(1);
- startActivity(intent);
- }
- break;
- case R.id.btn_send_message:
- intent.setClass(GroupNotFriendActivity.this, ChatActivity.class);
- //创建会话
- intent.putExtra(JGApplication.TARGET_ID, mUserInfo.getUserName());
- intent.putExtra(JGApplication.TARGET_APP_KEY, mUserInfo.getAppKey());
- String notename = mUserInfo.getNotename();
- if (TextUtils.isEmpty(notename)) {
- notename = mUserInfo.getNickname();
- if (TextUtils.isEmpty(notename)) {
- notename = mUserInfo.getUserName();
- }
- }
- intent.putExtra(JGApplication.CONV_TITLE, notename);
- Conversation conv = JMessageClient.getSingleConversation(mUserInfo.getUserName(), mUserInfo.getAppKey());
- //如果会话为空,使用EventBus通知会话列表添加新会话
- if (conv == null) {
- conv = Conversation.createSingleConversation(mUserInfo.getUserName(), mUserInfo.getAppKey());
- EventBus.getDefault().post(new Event.Builder()
- .setType(EventType.createConversation)
- .setConversation(conv)
- .build());
- }
- startActivity(intent);
- break;
- case R.id.return_btn:
- finish();
- break;
- case R.id.iv_more:
- intent.setClass(GroupNotFriendActivity.this, NotFriendSettingActivity.class);
- intent.putExtra("notFriendUserName", mUserName);
- startActivity(intent);
- break;
- default:
- break;
- }
- }
- }
|