/**
* Copyright (C) 2016 Hyphenate Inc. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.fanxin.huangfangyi.ui;
import java.util.ArrayList;
import java.util.List;
import com.fanxin.huangfangyi.main.activity.ChatActivity;
import com.fanxin.easeui.utils.EaseUserUtils;
import com.fanxin.easeui.widget.EaseSwitchButton;
import com.hyphenate.EMGroupChangeListener;
import com.hyphenate.chat.EMClient;
import com.hyphenate.chat.EMConversation;
import com.hyphenate.chat.EMConversation.EMConversationType;
import com.hyphenate.chat.EMGroup;
import com.fanxin.huangfangyi.R;
import com.fanxin.easeui.widget.EaseAlertDialog;
import com.fanxin.easeui.widget.EaseAlertDialog.AlertDialogUser;
import com.fanxin.easeui.widget.EaseExpandGridView;
import com.hyphenate.exceptions.HyphenateException;
import com.hyphenate.util.EMLog;
import com.hyphenate.util.NetUtils;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
public class GroupDetailsActivity extends BaseActivity implements OnClickListener {
private static final String TAG = "GroupDetailsActivity";
private static final int REQUEST_CODE_ADD_USER = 0;
private static final int REQUEST_CODE_EXIT = 1;
private static final int REQUEST_CODE_EXIT_DELETE = 2;
private static final int REQUEST_CODE_EDIT_GROUPNAME = 5;
private EaseExpandGridView userGridview;
private String groupId;
private ProgressBar loadingPB;
private Button exitBtn;
private Button deleteBtn;
private EMGroup group;
private GridAdapter adapter;
private ProgressDialog progressDialog;
private RelativeLayout rl_switch_block_groupmsg;
public static GroupDetailsActivity instance;
String st = "";
private RelativeLayout clearAllHistory;
private RelativeLayout blacklistLayout;
private RelativeLayout changeGroupNameLayout;
private RelativeLayout idLayout;
private TextView idText;
private EaseSwitchButton switchButton;
private GroupChangeListener groupChangeListener;
private RelativeLayout searchLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
groupId = getIntent().getStringExtra("groupId");
group = EMClient.getInstance().groupManager().getGroup(groupId);
// we are not supposed to show the group if we don't find the group
if(group == null){
finish();
return;
}
setContentView(R.layout.em_activity_group_details);
instance = this;
st = getResources().getString(R.string.people);
clearAllHistory = (RelativeLayout) findViewById(R.id.clear_all_history);
userGridview = (EaseExpandGridView) findViewById(R.id.gridview);
loadingPB = (ProgressBar) findViewById(R.id.progressBar);
exitBtn = (Button) findViewById(R.id.btn_exit_grp);
deleteBtn = (Button) findViewById(R.id.btn_exitdel_grp);
blacklistLayout = (RelativeLayout) findViewById(R.id.rl_blacklist);
changeGroupNameLayout = (RelativeLayout) findViewById(R.id.rl_change_group_name);
idLayout = (RelativeLayout) findViewById(R.id.rl_group_id);
idLayout.setVisibility(View.VISIBLE);
idText = (TextView) findViewById(R.id.tv_group_id_value);
rl_switch_block_groupmsg = (RelativeLayout) findViewById(R.id.rl_switch_block_groupmsg);
switchButton = (EaseSwitchButton) findViewById(R.id.switch_btn);
searchLayout = (RelativeLayout) findViewById(R.id.rl_search);
idText.setText(groupId);
if (group.getOwner() == null || "".equals(group.getOwner()) || !group.getOwner().equals(EMClient.getInstance().getCurrentUser())) {
exitBtn.setVisibility(View.GONE);
deleteBtn.setVisibility(View.GONE);
blacklistLayout.setVisibility(View.GONE);
changeGroupNameLayout.setVisibility(View.GONE);
}
// show dismiss button if you are owner of group
if (EMClient.getInstance().getCurrentUser().equals(group.getOwner())) {
exitBtn.setVisibility(View.GONE);
deleteBtn.setVisibility(View.VISIBLE);
}
groupChangeListener = new GroupChangeListener();
EMClient.getInstance().groupManager().addGroupChangeListener(groupChangeListener);
((TextView) findViewById(R.id.group_name)).setText(group.getGroupName() + "(" + group.getAffiliationsCount() + st);
List<String> members = new ArrayList<String>();
members.addAll(group.getMembers());
adapter = new GridAdapter(this, R.layout.em_grid, members);
userGridview.setAdapter(adapter);
// 保证每次进详情看到的都是最新的group
updateGroup();
// 设置OnTouchListener
userGridview.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
if (adapter.isInDeleteMode) {
adapter.isInDeleteMode = false;
adapter.notifyDataSetChanged();
return true;
}
break;
default:
break;
}
return false;
}
});
clearAllHistory.setOnClickListener(this);
blacklistLayout.setOnClickListener(this);
changeGroupNameLayout.setOnClickListener(this);
rl_switch_block_groupmsg.setOnClickListener(this);
searchLayout.setOnClickListener(this);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
String st1 = getResources().getString(R.string.being_added);
String st2 = getResources().getString(R.string.is_quit_the_group_chat);
String st3 = getResources().getString(R.string.chatting_is_dissolution);
String st4 = getResources().getString(R.string.are_empty_group_of_news);
String st5 = getResources().getString(R.string.is_modify_the_group_name);
final String st6 = getResources().getString(R.string.Modify_the_group_name_successful);
final String st7 = getResources().getString(R.string.change_the_group_name_failed_please);
if (resultCode == RESULT_OK) {
if (progressDialog == null) {
progressDialog = new ProgressDialog(GroupDetailsActivity.this);
progressDialog.setMessage(st1);
progressDialog.setCanceledOnTouchOutside(false);
}
switch (requestCode) {
case REQUEST_CODE_ADD_USER:// 添加群成员
final String[] newmembers = data.getStringArrayExtra("newmembers");
progressDialog.setMessage(st1);
progressDialog.show();
addMembersToGroup(newmembers);
break;
case REQUEST_CODE_EXIT: // 退出群
progressDialog.setMessage(st2);
progressDialog.show();
exitGrop();
break;
case REQUEST_CODE_EXIT_DELETE: // 解散群
progressDialog.setMessage(st3);
progressDialog.show();
deleteGrop();
break;
case REQUEST_CODE_EDIT_GROUPNAME: //修改群名称
final String returnData = data.getStringExtra("data");
if(!TextUtils.isEmpty(returnData)){
progressDialog.setMessage(st5);
progressDialog.show();
new Thread(new Runnable() {
public void run() {
try {
EMClient.getInstance().groupManager().changeGroupName(groupId, returnData);
runOnUiThread(new Runnable() {
public void run() {
((TextView) findViewById(R.id.group_name)).setText(returnData + "(" + group.getAffiliationsCount()
+ st);
progressDialog.dismiss();
Toast.makeText(getApplicationContext(), st6, 0).show();
}
});
} catch (HyphenateException e) {
e.printStackTrace();
runOnUiThread(new Runnable() {
public void run() {
progressDialog.dismiss();
Toast.makeText(getApplicationContext(), st7, 0).show();
}
});
}
}
}).start();
}
break;
default:
break;
}
}
}
protected void addUserToBlackList(final String username) {
final ProgressDialog pd = new ProgressDialog(this);
pd.setCanceledOnTouchOutside(false);
pd.setMessage(getString(R.string.Are_moving_to_blacklist));
pd.show();
new Thread(new Runnable() {
public void run() {
try {
EMClient.getInstance().groupManager().blockUser(groupId, username);
runOnUiThread(new Runnable() {
public void run() {
refreshMembers();
pd.dismiss();
Toast.makeText(getApplicationContext(), R.string.Move_into_blacklist_success, 0).show();
}
});
} catch (HyphenateException e) {
runOnUiThread(new Runnable() {
public void run() {
pd.dismiss();
Toast.makeText(getApplicationContext(), R.string.failed_to_move_into, 0).show();
}
});
}
}
}).start();
}
private void refreshMembers(){
adapter.clear();
List<String> members = new ArrayList<String>();
members.addAll(group.getMembers());
adapter.addAll(members);
adapter.notifyDataSetChanged();
}
/**
* 点击退出群组按钮
*
* @param view
*/
public void exitGroup(View view) {
startActivityForResult(new Intent(this, ExitGroupDialog.class), REQUEST_CODE_EXIT);
}
/**
* 点击解散群组按钮
*
* @param view
*/
public void exitDeleteGroup(View view) {
startActivityForResult(new Intent(this, ExitGroupDialog.class).putExtra("deleteToast", getString(R.string.dissolution_group_hint)),
REQUEST_CODE_EXIT_DELETE);
}
/**
* 清空群聊天记录
*/
private void clearGroupHistory() {
EMConversation conversation = EMClient.getInstance().chatManager().getConversation(group.getGroupId(), EMConversationType.GroupChat);
if (conversation != null) {
conversation.clearAllMessages();
}
Toast.makeText(this, R.string.messages_are_empty, 0).show();
}
/**
* 退出群组
*
* @param groupId
*/
private void exitGrop() {
String st1 = getResources().getString(R.string.Exit_the_group_chat_failure);
new Thread(new Runnable() {
public void run() {
try {
EMClient.getInstance().groupManager().leaveGroup(groupId);
runOnUiThread(new Runnable() {
public void run() {
progressDialog.dismiss();
setResult(RESULT_OK);
finish();
if(ChatActivity.activityInstance != null)
ChatActivity.activityInstance.finish();
}
});
} catch (final Exception e) {
runOnUiThread(new Runnable() {
public void run() {
progressDialog.dismiss();
Toast.makeText(getApplicationContext(), getResources().getString(R.string.Exit_the_group_chat_failure) + " " + e.getMessage(), 1).show();
}
});
}
}
}).start();
}
/**
* 解散群组
*
* @param groupId
*/
private void deleteGrop() {
final String st5 = getResources().getString(R.string.Dissolve_group_chat_tofail);
new Thread(new Runnable() {
public void run() {
try {
EMClient.getInstance().groupManager().destroyGroup(groupId);
runOnUiThread(new Runnable() {
public void run() {
progressDialog.dismiss();
setResult(RESULT_OK);
finish();
if(ChatActivity.activityInstance != null)
ChatActivity.activityInstance.finish();
}
});
} catch (final Exception e) {
runOnUiThread(new Runnable() {
public void run() {
progressDialog.dismiss();
Toast.makeText(getApplicationContext(), st5 + e.getMessage(), 1).show();
}
});
}
}
}).start();
}
/**
* 增加群成员
*
* @param newmembers
*/
private void addMembersToGroup(final String[] newmembers) {
final String st6 = getResources().getString(R.string.Add_group_members_fail);
new Thread(new Runnable() {
public void run() {
try {
// 创建者调用add方法
if (EMClient.getInstance().getCurrentUser().equals(group.getOwner())) {
EMClient.getInstance().groupManager().addUsersToGroup(groupId, newmembers);
} else {
// 一般成员调用invite方法
EMClient.getInstance().groupManager().inviteUser(groupId, newmembers, null);
}
runOnUiThread(new Runnable() {
public void run() {
refreshMembers();
((TextView) findViewById(R.id.group_name)).setText(group.getGroupName() + "(" + group.getAffiliationsCount()
+ st);
progressDialog.dismiss();
}
});
} catch (final Exception e) {
runOnUiThread(new Runnable() {
public void run() {
progressDialog.dismiss();
Toast.makeText(getApplicationContext(), st6 + e.getMessage(), 1).show();
}
});
}
}
}).start();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.rl_switch_block_groupmsg: // 屏蔽或取消屏蔽群组
toggleBlockGroup();
break;
case R.id.clear_all_history: // 清空聊天记录
String st9 = getResources().getString(R.string.sure_to_empty_this);
new EaseAlertDialog(GroupDetailsActivity.this, null, st9, null, new AlertDialogUser() {
@Override
public void onResult(boolean confirmed, Bundle bundle) {
if(confirmed){
clearGroupHistory();
}
}
}, true).show();
break;
case R.id.rl_blacklist: // 黑名单列表
startActivity(new Intent(GroupDetailsActivity.this, GroupBlacklistActivity.class).putExtra("groupId", groupId));
break;
case R.id.rl_change_group_name:
startActivityForResult(new Intent(this, EditActivity.class).putExtra("data", group.getGroupName()), REQUEST_CODE_EDIT_GROUPNAME);
break;
case R.id.rl_search:
startActivity(new Intent(this, GroupSearchMessageActivity.class).putExtra("groupId", groupId));
break;
default:
break;
}
}
private void toggleBlockGroup() {
if(switchButton.isSwitchOpen()){
EMLog.d(TAG, "change to unblock group msg");
if (progressDialog == null) {
progressDialog = new ProgressDialog(GroupDetailsActivity.this);
progressDialog.setCanceledOnTouchOutside(false);
}
progressDialog.setMessage(getString(R.string.Is_unblock));
progressDialog.show();
new Thread(new Runnable() {
public void run() {
try {
EMClient.getInstance().groupManager().unblockGroupMessage(groupId);
runOnUiThread(new Runnable() {
public void run() {
switchButton.closeSwitch();
progressDialog.dismiss();
}
});
} catch (Exception e) {
e.printStackTrace();
runOnUiThread(new Runnable() {
public void run() {
progressDialog.dismiss();
Toast.makeText(getApplicationContext(), R.string.remove_group_of, 1).show();
}
});
}
}
}).start();
} else {
String st8 = getResources().getString(R.string.group_is_blocked);
final String st9 = getResources().getString(R.string.group_of_shielding);
EMLog.d(TAG, "change to block group msg");
if (progressDialog == null) {
progressDialog = new ProgressDialog(GroupDetailsActivity.this);
progressDialog.setCanceledOnTouchOutside(false);
}
progressDialog.setMessage(st8);
progressDialog.show();
new Thread(new Runnable() {
public void run() {
try {
EMClient.getInstance().groupManager().blockGroupMessage(groupId);
runOnUiThread(new Runnable() {
public void run() {
switchButton.openSwitch();
progressDialog.dismiss();
}
});
} catch (Exception e) {
e.printStackTrace();
runOnUiThread(new Runnable() {
public void run() {
progressDialog.dismiss();
Toast.makeText(getApplicationContext(), st9, 1).show();
}
});
}
}
}).start();
}
}
/**
* 群组成员gridadapter
*
* @author admin_new
*
*/
private class GridAdapter extends ArrayAdapter<String> {
private int res;
public boolean isInDeleteMode;
private List<String> objects;
public GridAdapter(Context context, int textViewResourceId, List<String> objects) {
super(context, textViewResourceId, objects);
this.objects = objects;
res = textViewResourceId;
isInDeleteMode = false;
}
@Override
public View getView(final int position, View convertView, final ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
convertView = LayoutInflater.from(getContext()).inflate(res, null);
holder.imageView = (ImageView) convertView.findViewById(R.id.iv_avatar);
holder.textView = (TextView) convertView.findViewById(R.id.tv_name);
holder.badgeDeleteView = (ImageView) convertView.findViewById(R.id.badge_delete);
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
final LinearLayout button = (LinearLayout) convertView.findViewById(R.id.button_avatar);
// 最后一个item,减人按钮
if (position == getCount() - 1) {
holder.textView.setText("");
// 设置成删除按钮
holder.imageView.setImageResource(R.drawable.em_smiley_minus_btn);
// button.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.smiley_minus_btn, 0, 0);
// 如果不是创建者或者没有相应权限,不提供加减人按钮
if (!group.getOwner().equals(EMClient.getInstance().getCurrentUser())) {
// if current user is not group admin, hide add/remove btn
convertView.setVisibility(View.INVISIBLE);
} else { // 显示删除按钮
if (isInDeleteMode) {
// 正处于删除模式下,隐藏删除按钮
convertView.setVisibility(View.INVISIBLE);
} else {
// 正常模式
convertView.setVisibility(View.VISIBLE);
convertView.findViewById(R.id.badge_delete).setVisibility(View.INVISIBLE);
}
final String st10 = getResources().getString(R.string.The_delete_button_is_clicked);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
EMLog.d(TAG, st10);
isInDeleteMode = true;
notifyDataSetChanged();
}
});
}
} else if (position == getCount() - 2) { // 添加群组成员按钮
holder.textView.setText("");
holder.imageView.setImageResource(R.drawable.em_smiley_add_btn);
// button.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.smiley_add_btn, 0, 0);
// 如果不是创建者或者没有相应权限
if (!group.isAllowInvites() && !group.getOwner().equals(EMClient.getInstance().getCurrentUser())) {
// if current user is not group admin, hide add/remove btn
convertView.setVisibility(View.INVISIBLE);
} else {
// 正处于删除模式下,隐藏添加按钮
if (isInDeleteMode) {
convertView.setVisibility(View.INVISIBLE);
} else {
convertView.setVisibility(View.VISIBLE);
convertView.findViewById(R.id.badge_delete).setVisibility(View.INVISIBLE);
}
final String st11 = getResources().getString(R.string.Add_a_button_was_clicked);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
EMLog.d(TAG, st11);
// 进入选人页面
startActivityForResult(
(new Intent(GroupDetailsActivity.this, GroupPickContactsActivity.class).putExtra("groupId", groupId)),
REQUEST_CODE_ADD_USER);
}
});
}
} else { // 普通item,显示群组成员
final String username = getItem(position);
convertView.setVisibility(View.VISIBLE);
button.setVisibility(View.VISIBLE);
// Drawable avatar = getResources().getDrawable(R.drawable.default_avatar);
// avatar.setBounds(0, 0, referenceWidth, referenceHeight);
// button.setCompoundDrawables(null, avatar, null, null);
EaseUserUtils.setUserNick(username, holder.textView);
EaseUserUtils.setUserAvatar(getContext(), username, holder.imageView);
if (isInDeleteMode) {
// 如果是删除模式下,显示减人图标
convertView.findViewById(R.id.badge_delete).setVisibility(View.VISIBLE);
} else {
convertView.findViewById(R.id.badge_delete).setVisibility(View.INVISIBLE);
}
final String st12 = getResources().getString(R.string.not_delete_myself);
final String st13 = getResources().getString(R.string.Are_removed);
final String st14 = getResources().getString(R.string.Delete_failed);
final String st15 = getResources().getString(R.string.confirm_the_members);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (isInDeleteMode) {
// 如果是删除自己,return
if (EMClient.getInstance().getCurrentUser().equals(username)) {
new EaseAlertDialog(GroupDetailsActivity.this, st12).show();
return;
}
if (!NetUtils.hasNetwork(getApplicationContext())) {
Toast.makeText(getApplicationContext(), getString(R.string.network_unavailable), 0).show();
return;
}
EMLog.d("group", "remove user from group:" + username);
deleteMembersFromGroup(username);
} else {
// 正常情况下点击user,可以进入用户详情或者聊天页面等等
// startActivity(new
// Intent(GroupDetailsActivity.this,
// ChatActivity.class).putExtra("userId",
// user.getUsername()));
}
}
/**
* 删除群成员
*
* @param username
*/
protected void deleteMembersFromGroup(final String username) {
final ProgressDialog deleteDialog = new ProgressDialog(GroupDetailsActivity.this);
deleteDialog.setMessage(st13);
deleteDialog.setCanceledOnTouchOutside(false);
deleteDialog.show();
new Thread(new Runnable() {
@Override
public void run() {
try {
// 删除被选中的成员
EMClient.getInstance().groupManager().removeUserFromGroup(groupId, username);
isInDeleteMode = false;
runOnUiThread(new Runnable() {
@Override
public void run() {
deleteDialog.dismiss();
refreshMembers();
((TextView) findViewById(R.id.group_name)).setText(group.getGroupName() + "("
+ group.getAffiliationsCount() + st);
}
});
} catch (final Exception e) {
deleteDialog.dismiss();
runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(getApplicationContext(), st14 + e.getMessage(), 1).show();
}
});
}
}
}).start();
}
});
button.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
if(EMClient.getInstance().getCurrentUser().equals(username))
return true;
if (group.getOwner().equals(EMClient.getInstance().getCurrentUser())) {
new EaseAlertDialog(GroupDetailsActivity.this, null, st15, null, new AlertDialogUser() {
@Override
public void onResult(boolean confirmed, Bundle bundle) {
if(confirmed){
addUserToBlackList(username);
}
}
}, true).show();
}
return false;
}
});
}
return convertView;
}
@Override
public int getCount() {
return super.getCount() + 2;
}
}
protected void updateGroup() {
new Thread(new Runnable() {
public void run() {
try {
EMClient.getInstance().groupManager().getGroupFromServer(groupId);
runOnUiThread(new Runnable() {
public void run() {
((TextView) findViewById(R.id.group_name)).setText(group.getGroupName() + "(" + group.getAffiliationsCount()
+ ")");
loadingPB.setVisibility(View.INVISIBLE);
refreshMembers();
if (EMClient.getInstance().getCurrentUser().equals(group.getOwner())) {
// 显示解散按钮
exitBtn.setVisibility(View.GONE);
deleteBtn.setVisibility(View.VISIBLE);
} else {
// 显示退出按钮
exitBtn.setVisibility(View.VISIBLE);
deleteBtn.setVisibility(View.GONE);
}
// update block
EMLog.d(TAG, "group msg is blocked:" + group.isMsgBlocked());
if (group.isMsgBlocked()) {
switchButton.openSwitch();
} else {
switchButton.closeSwitch();
}
}
});
} catch (Exception e) {
runOnUiThread(new Runnable() {
public void run() {
loadingPB.setVisibility(View.INVISIBLE);
}
});
}
}
}).start();
}
public void back(View view) {
setResult(RESULT_OK);
finish();
}
@Override
public void onBackPressed() {
setResult(RESULT_OK);
finish();
}
@Override
protected void onDestroy() {
super.onDestroy();
instance = null;
}
private static class ViewHolder{
ImageView imageView;
TextView textView;
ImageView badgeDeleteView;
}
private class GroupChangeListener implements EMGroupChangeListener{
@Override
public void onInvitationReceived(String groupId, String groupName,
String inviter, String reason) {
// TODO Auto-generated method stub
}
@Override
public void onApplicationReceived(String groupId, String groupName,
String applyer, String reason) {
// TODO Auto-generated method stub
}
@Override
public void onApplicationAccept(String groupId, String groupName,
String accepter) {
// TODO Auto-generated method stub
}
@Override
public void onApplicationDeclined(String groupId, String groupName,
String decliner, String reason) {
}
@Override
public void onInvitationAccpted(String groupId, String inviter,
String reason) {
runOnUiThread(new Runnable(){
@Override
public void run() {
refreshMembers();
}
});
}
@Override
public void onInvitationDeclined(String groupId, String invitee,
String reason) {
// TODO Auto-generated method stub
}
@Override
public void onUserRemoved(String groupId, String groupName) {
finish();
}
@Override
public void onGroupDestroy(String groupId, String groupName) {
finish();
}
@Override
public void onAutoAcceptInvitationFromGroup(String groupId, String inviter, String inviteMessage) {
// TODO Auto-generated method stub
}
}
}