package com.netease.nim.uikit.custom;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.widget.Toast;
import com.netease.nim.uikit.NimUIKit;
import com.netease.nim.uikit.R;
import com.netease.nim.uikit.cache.TeamDataCache;
import com.netease.nim.uikit.session.SessionCustomization;
import com.netease.nim.uikit.team.model.TeamExtras;
import com.netease.nim.uikit.team.model.TeamRequestCode;
import com.netease.nimlib.sdk.team.model.Team;
import java.util.ArrayList;
/**
* SessionCustomization 可以实现聊天界面定制项:
* 1. 聊天背景 <br>
* 2. 加号展开后的按钮和动作,如自定义消息 <br>
* 3. ActionBar右侧按钮。
* <p>
* DefalutTeamSessionCustomization 提供默认的群聊界面定制,添加了ActionBar右侧按钮,用于跳转群信息界面
* <p>
* Created by hzchenkang on 2016/12/20.
*/
public class DefalutTeamSessionCustomization extends SessionCustomization {
public DefalutTeamSessionCustomization() {
// ActionBar右侧按钮,跳转至群信息界面
SessionCustomization.OptionsButton infoButton = new SessionCustomization.OptionsButton() {
@Override
public void onClick(Context context, View view, String sessionId) {
Team team = TeamDataCache.getInstance().getTeamById(sessionId);
if (team != null && team.isMyTeam()) {
NimUIKit.startTeamInfo(context, sessionId);
} else {
Toast.makeText(context, R.string.team_invalid_tip, Toast.LENGTH_SHORT).show();
}
}
};
infoButton.iconId = R.drawable.nim_ic_message_actionbar_team;
buttons = new ArrayList<>();
buttons.add(infoButton);
}
public void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data) {
if (requestCode == TeamRequestCode.REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
String reason = data.getStringExtra(TeamExtras.RESULT_EXTRA_REASON);
boolean finish = reason != null && (reason.equals(TeamExtras
.RESULT_EXTRA_REASON_DISMISS) || reason.equals(TeamExtras.RESULT_EXTRA_REASON_QUIT));
if (finish) {
activity.finish(); // 退出or解散群直接退出多人会话
}
}
}
}
}