--- a/src/com/beem/project/beem/ui/ContactDialog.java Thu Nov 19 16:56:25 2009 +0100
+++ b/src/com/beem/project/beem/ui/ContactDialog.java Thu Nov 19 19:01:21 2009 +0100
@@ -56,9 +56,16 @@
}
@Override
+ protected void onStop() {
+ // TODO Auto-generated method stub
+ super.onStop();
+ mContext.unbindService(mServConn);
+ }
+
+ @Override
public void dismiss() {
super.dismiss();
- mContext.unbindService(mServConn);
+
}
/**
--- a/src/com/beem/project/beem/ui/ContactList.java Thu Nov 19 16:56:25 2009 +0100
+++ b/src/com/beem/project/beem/ui/ContactList.java Thu Nov 19 19:01:21 2009 +0100
@@ -69,6 +69,7 @@
private BeemBroadcastReceiver mReceiver;
private final Map<Integer, Bitmap> mIconsMap = new HashMap<Integer, Bitmap>();
private LayoutInflater mInflater;
+ private ContactDialog mContactDialog;
static {
SERVICE_INTENT.setComponent(new ComponentName("com.beem.project.beem", "com.beem.project.beem.BeemService"));
@@ -158,6 +159,8 @@
@Override
protected void onStop() {
super.onStop();
+ if (mContactDialog != null)
+ mContactDialog.dismiss();
if (mReceiver.isBinded())
unbindService(mServConn);
}
@@ -276,9 +279,9 @@
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View v, int pos, long lpos) {
Contact c = mListContact.get(pos);
- ContactDialog dialogContact = new ContactDialog(ContactList.this, c);
- dialogContact.setOwnerActivity(ContactList.this);
- dialogContact.show();
+ mContactDialog = new ContactDialog(ContactList.this, c);
+ mContactDialog.setOwnerActivity(ContactList.this);
+ mContactDialog.show();
return true;
}
}