aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--gen/de/gultsch/chat/R.java5
-rw-r--r--res/menu/manageaccounts_context.xml4
-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
8 files changed, 36 insertions, 44 deletions
diff --git a/gen/de/gultsch/chat/R.java b/gen/de/gultsch/chat/R.java
index 982b1e2e..112e0de0 100644
--- a/gen/de/gultsch/chat/R.java
+++ b/gen/de/gultsch/chat/R.java
@@ -41,8 +41,9 @@ public final class R {
}
public static final class id {
public static final int account_confirm_password_desc=0x7f0a0011;
- public static final int account_disable=0x7f0a002c;
- public static final int account_enable=0x7f0a002d;
+ public static final int account_delete=0x7f0a002c;
+ public static final int account_disable=0x7f0a002d;
+ public static final int account_enable=0x7f0a002e;
public static final int account_jid=0x7f0a0000;
public static final int account_list=0x7f0a0021;
public static final int account_password=0x7f0a000f;
diff --git a/res/menu/manageaccounts_context.xml b/res/menu/manageaccounts_context.xml
index 30ba747d..2adc45df 100644
--- a/res/menu/manageaccounts_context.xml
+++ b/res/menu/manageaccounts_context.xml
@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
- <item android:icon="@drawable/ic_action_delete"
+ <item
+ android:id="@+id/account_delete"
+ android:icon="@drawable/ic_action_delete"
android:title="Delete"
android:showAsAction="always"
/>
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);