aboutsummaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2017-03-09 19:31:40 +0100
committerChristian Schneppe <christian@pix-art.de>2017-03-09 19:31:40 +0100
commite1ff6b02f53ef6fcd3732b78607beedd88da916a (patch)
tree1b79a32ede95add24e3f1800eb8e8ae70899fc78 /src/main
parente20e7893a546b700e5a4ca00d523cf078bb28747 (diff)
added an option to directly add a jid to block list from blocklist activity
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/de/pixart/messenger/ui/BlocklistActivity.java43
-rw-r--r--src/main/java/de/pixart/messenger/ui/EditAccountActivity.java2
-rw-r--r--src/main/res/menu/choose_contact.xml7
-rw-r--r--src/main/res/values/strings.xml1
4 files changed, 50 insertions, 3 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/BlocklistActivity.java b/src/main/java/de/pixart/messenger/ui/BlocklistActivity.java
index cb5a0112b..c1d388231 100644
--- a/src/main/java/de/pixart/messenger/ui/BlocklistActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/BlocklistActivity.java
@@ -2,18 +2,23 @@ package de.pixart.messenger.ui;
import android.os.Bundle;
import android.text.Editable;
+import android.view.Menu;
+import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
+import java.util.ArrayList;
import java.util.Collections;
+import java.util.List;
+import de.pixart.messenger.R;
import de.pixart.messenger.entities.Account;
import de.pixart.messenger.entities.Contact;
import de.pixart.messenger.xmpp.OnUpdateBlocklist;
import de.pixart.messenger.xmpp.jid.Jid;
public class BlocklistActivity extends AbstractSearchableListItemActivity implements OnUpdateBlocklist {
-
+ private List<String> mKnownHosts = new ArrayList<String>();
private Account account = null;
@Override
@@ -41,6 +46,7 @@ public class BlocklistActivity extends AbstractSearchableListItemActivity implem
}
}
filterContacts();
+ this.mKnownHosts = xmppConnectionService.getKnownHosts();
}
@Override
@@ -58,6 +64,41 @@ public class BlocklistActivity extends AbstractSearchableListItemActivity implem
getListItemAdapter().notifyDataSetChanged();
}
+ @Override
+ public boolean onCreateOptionsMenu(final Menu menu) {
+ super.onCreateOptionsMenu(menu);
+ menu.findItem(R.id.action_add_contact).setVisible(true);
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case R.id.action_add_contact:
+ showEnterJidDialog();
+ return true;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
+ protected void showEnterJidDialog() {
+ EnterJidDialog dialog = new EnterJidDialog(
+ this, mKnownHosts, null,
+ getString(R.string.block_jabber_id), getString(R.string.block),
+ null, account.getJid().toBareJid().toString(), true
+ );
+
+ dialog.setOnEnterJidDialogPositiveListener(new EnterJidDialog.OnEnterJidDialogPositiveListener() {
+ @Override
+ public boolean onEnterJidDialogPositive(Jid accountJid, Jid contactJid) throws EnterJidDialog.JidError {
+ Contact contact = account.getRoster().getContact(contactJid);
+ xmppConnectionService.sendBlockRequest(contact, false);
+ return true;
+ }
+ });
+ dialog.show();
+ }
+
protected void refreshUiReal() {
final Editable editable = getSearchEditText().getText();
if (editable != null) {
diff --git a/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java b/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java
index c578a5931..fd18df172 100644
--- a/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/EditAccountActivity.java
@@ -575,8 +575,6 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
if (mAccount != null && mAccount.isOnlineAndConnected()) {
if (!mAccount.getXmppConnection().getFeatures().blocking()) {
showBlocklist.setVisible(false);
- } else {
- showBlocklist.setEnabled(mAccount.getBlocklist().size() > 0);
}
if (!mAccount.getXmppConnection().getFeatures().register()) {
changePassword.setVisible(false);
diff --git a/src/main/res/menu/choose_contact.xml b/src/main/res/menu/choose_contact.xml
index 6c4d82153..c91fd122b 100644
--- a/src/main/res/menu/choose_contact.xml
+++ b/src/main/res/menu/choose_contact.xml
@@ -14,4 +14,11 @@
android:showAsAction="always"
android:title="@string/create_contact"
android:visible="false" />
+
+ <item
+ android:id="@+id/action_add_contact"
+ android:icon="?attr/icon_add_person"
+ android:showAsAction="always"
+ android:title="@string/block_jabber_id"
+ android:visible="false" />
</menu>
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 0003d131e..133cfa250 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -746,4 +746,5 @@
<string name="start_chatting">Start chtatting…</string>
<string name="pref_use_max_brightness_summary">Switch to maximum brightness while watching videos or images in fullscreen.</string>
<string name="pref_use_max_brightness">Maximum brightness</string>
+ <string name="block_jabber_id">Block Jabber ID</string>
</resources>