aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/de/gultsch/chat/entities/Account.java6
-rw-r--r--src/de/gultsch/chat/ui/ConversationActivity.java7
-rw-r--r--src/de/gultsch/chat/ui/EditAccount.java23
-rw-r--r--src/de/gultsch/chat/ui/ManageAccountActivity.java31
-rw-r--r--src/de/gultsch/chat/utils/UIHelper.java1
-rw-r--r--src/de/gultsch/chat/xmpp/XmppConnection.java3
6 files changed, 30 insertions, 41 deletions
diff --git a/src/de/gultsch/chat/entities/Account.java b/src/de/gultsch/chat/entities/Account.java
index 6f8daf8d..f94f7b48 100644
--- a/src/de/gultsch/chat/entities/Account.java
+++ b/src/de/gultsch/chat/entities/Account.java
@@ -59,15 +59,9 @@ public class Account extends AbstractEntity{
public void setOption(int option, boolean value) {
if (value) {
- Log.d("xmppService","options: "+options);
this.options = (this.options | 1 << option);
- Log.d("xmppService","setting option "+option+" to 1");
- Log.d("xmppService","options: "+options);
} else {
- Log.d("xmppService","options: "+options);
- Log.d("xmppService","setting option "+option+" to 0");
this.options = (this.options ^ 1 << option);
- Log.d("xmppService","options: "+options);
}
}
diff --git a/src/de/gultsch/chat/ui/ConversationActivity.java b/src/de/gultsch/chat/ui/ConversationActivity.java
index 29d4d65c..ca9bedf7 100644
--- a/src/de/gultsch/chat/ui/ConversationActivity.java
+++ b/src/de/gultsch/chat/ui/ConversationActivity.java
@@ -12,6 +12,7 @@ import de.gultsch.chat.utils.UIHelper;
import android.net.Uri;
import android.os.Bundle;
import android.app.FragmentTransaction;
+import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.support.v4.widget.SlidingPaneLayout;
@@ -278,6 +279,12 @@ public class ConversationActivity extends XmppActivity {
return super.onKeyDown(keyCode, event);
}
+ public void onStart() {
+ super.onStart();
+ NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
+ nm.cancelAll();
+ }
+
@Override
protected void onPause() {
super.onPause();
diff --git a/src/de/gultsch/chat/ui/EditAccount.java b/src/de/gultsch/chat/ui/EditAccount.java
index f8d70981..4da89b7f 100644
--- a/src/de/gultsch/chat/ui/EditAccount.java
+++ b/src/de/gultsch/chat/ui/EditAccount.java
@@ -29,8 +29,6 @@ public class EditAccount extends DialogFragment {
public interface EditAccountListener {
public void onAccountEdited(Account account);
-
- public void onAccountDelete(Account account);
}
protected EditAccountListener listener = null;
@@ -92,27 +90,6 @@ public class EditAccount extends DialogFragment {
usernameText.setText(account.getUsername());
serverText.setText(account.getServer());
okButtonDesc = "Edit";
- /*builder.setNegativeButton("Delete Account", new OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
- builder.setTitle("Are you sure?");
- builder.setIconAttribute(android.R.attr.alertDialogIcon);
- builder.setMessage("If you delete your account your entire conversation history will be lost");
- builder.setPositiveButton("Delete", new OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- if (listener!=null) {
- listener.onAccountDelete(account);
- }
- }
- });
- builder.setNegativeButton("Cancel",null);
- builder.create().show();
- }
- });*/
} else {
builder.setTitle("Add account");
okButtonDesc = "Add";
diff --git a/src/de/gultsch/chat/ui/ManageAccountActivity.java b/src/de/gultsch/chat/ui/ManageAccountActivity.java
index 33469acd..2f0bb1a0 100644
--- a/src/de/gultsch/chat/ui/ManageAccountActivity.java
+++ b/src/de/gultsch/chat/ui/ManageAccountActivity.java
@@ -9,6 +9,8 @@ import de.gultsch.chat.ui.EditAccount.EditAccountListener;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
+import android.content.DialogInterface;
+import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
@@ -122,11 +124,6 @@ public class ManageAccountActivity extends XmppActivity implements ActionMode.Ca
public void onAccountEdited(Account account) {
xmppConnectionService.updateAccount(account);
}
-
- @Override
- public void onAccountDelete(Account account) {
- xmppConnectionService.deleteAccount(account);
- }
});
dialog.show(getFragmentManager(), "edit_account");
} else {
@@ -177,7 +174,6 @@ public class ManageAccountActivity extends XmppActivity implements ActionMode.Ca
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.manageaccounts, menu);
return true;
}
@@ -207,17 +203,12 @@ public class ManageAccountActivity extends XmppActivity implements ActionMode.Ca
xmppConnectionService.createAccount(account);
activity.getActionBar().setDisplayHomeAsUpEnabled(true);
}
-
- @Override
- public void onAccountDelete(Account account) {
- // this will never be called
- }
});
dialog.show(getFragmentManager(), "add_account");
}
@Override
- public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
+ public boolean onActionItemClicked(final ActionMode mode, MenuItem item) {
if (item.getItemId()==R.id.account_disable) {
selectedAccountForActionMode.setOption(Account.OPTION_DISABLED, true);
xmppConnectionService.updateAccount(selectedAccountForActionMode);
@@ -226,6 +217,22 @@ public class ManageAccountActivity extends XmppActivity implements ActionMode.Ca
selectedAccountForActionMode.setOption(Account.OPTION_DISABLED, false);
xmppConnectionService.updateAccount(selectedAccountForActionMode);
mode.finish();
+ } else if (item.getItemId()==R.id.account_delete) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ builder.setTitle("Are you sure?");
+ builder.setIconAttribute(android.R.attr.alertDialogIcon);
+ builder.setMessage("If you delete your account your entire conversation history will be lost");
+ builder.setPositiveButton("Delete", new OnClickListener() {
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ xmppConnectionService.deleteAccount(selectedAccountForActionMode);
+ selectedAccountForActionMode = null;
+ mode.finish();
+ }
+ });
+ builder.setNegativeButton("Cancel",null);
+ builder.create().show();
}
return true;
}
diff --git a/src/de/gultsch/chat/utils/UIHelper.java b/src/de/gultsch/chat/utils/UIHelper.java
index c1bc7470..1c7a568e 100644
--- a/src/de/gultsch/chat/utils/UIHelper.java
+++ b/src/de/gultsch/chat/utils/UIHelper.java
@@ -84,6 +84,7 @@ public class UIHelper {
mBuilder.setContentTitle(conversation.getName());
mBuilder.setContentText(conversation.getLatestMessage());
mBuilder.setSmallIcon(R.drawable.notification);
+ mBuilder.setLights(0xffffffff, 2000, 4000);
if (ringtone!=null) {
mBuilder.setSound(Uri.parse(ringtone));
}
diff --git a/src/de/gultsch/chat/xmpp/XmppConnection.java b/src/de/gultsch/chat/xmpp/XmppConnection.java
index e86bb66c..a7254624 100644
--- a/src/de/gultsch/chat/xmpp/XmppConnection.java
+++ b/src/de/gultsch/chat/xmpp/XmppConnection.java
@@ -141,6 +141,9 @@ public class XmppConnection implements Runnable {
Element failure = tagReader.readElement(nextTag);
Log.d(LOGTAG,"read failure element"+failure.toString());
account.setStatus(Account.STATUS_UNAUTHORIZED);
+ if (statusListener!=null) {
+ statusListener.onStatusChanged(account);
+ }
tagWriter.writeTag(Tag.end("stream"));
} else if (nextTag.isStart("iq")) {
processIq(nextTag);