package com.diandi.demo.ui.activity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ListView;
import com.diandi.demo.R;
import com.diandi.demo.adapter.NewFriendAdapter;
import com.diandi.demo.widget.HeaderLayout;
import com.diandi.demo.widget.dialog.DialogTips;
import cn.bmob.im.bean.BmobInvitation;
import cn.bmob.im.db.BmobDB;
/**
* *******************************************************************************
* ********* Author : klob(kloblic@gmail.com) .
* ********* Date : 2014-11-29 .
* ********* Time : 11:46 .
* ********* Project name : Diandi1.18 .
* ********* Version : 1.0
* ********* Copyright @ 2014, klob, All Rights Reserved
* *******************************************************************************
*/
public class NewFriendActivity extends ActivityBase implements OnItemLongClickListener {
ListView listview;
NewFriendAdapter adapter;
String from = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
findView();
initView();
}
void initView() {
initTopBarForBoth("新朋友", R.drawable.icon_clear_selector, new HeaderLayout.onRightImageButtonClickListener() {
@Override
public void onClick() {
DialogTips dialog = new DialogTips(NewFriendActivity.this, "提示", "删除所有好友请求", "确定", true, true);
// 设置成功事件
dialog.SetOnSuccessListener(new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int userId) {
deleteAllInvite();
adapter.removeAll();
}
});
// 显示确认对话框
dialog.show();
dialog = null;
}
});
from = getIntent().getStringExtra("from");
adapter = new NewFriendAdapter(this, BmobDB.create(this).queryBmobInviteList());
listview.setAdapter(adapter);
if (from == null) {//若来自通知栏的点击,则定位到最后一条
listview.setSelection(adapter.getCount());
}
bindEvent();
}
@Override
void findView() {
setContentView(R.layout.activity_new_friend);
listview = (ListView) findViewById(R.id.list_newfriend);
}
@Override
void bindEvent() {
listview.setOnItemLongClickListener(this);
}
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
BmobInvitation invite = adapter.getItem(position);
showDeleteDialog(position, invite);
return true;
}
public void showDeleteDialog(final int position, final BmobInvitation invite) {
DialogTips dialog = new DialogTips(this, invite.getFromname(), "删除好友请求", "确定", true, true);
// 设置成功事件
dialog.SetOnSuccessListener(new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int userId) {
deleteInvite(position, invite);
}
});
// 显示确认对话框
dialog.show();
dialog = null;
}
/**
* 删除请求
* deleteRecent
*
* @param @param recent
* @return void
* @throws
*/
private void deleteInvite(int position, BmobInvitation invite) {
adapter.remove(position);
BmobDB.create(this).deleteInviteMsg(invite.getFromid(), Long.toString(invite.getTime()));
}
private void deleteAllInvite() {
for (BmobInvitation invitation : adapter.getList()) {
BmobDB.create(this).deleteInviteMsg(invitation.getFromid(), Long.toString(invitation.getTime()));
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (from == null) {
startAnimActivity(MainActivity.class);
}
}
}