aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Schneppe <christian.schneppe@pix-art.de>2020-02-17 20:07:42 +0100
committerChristian Schneppe <christian.schneppe@pix-art.de>2020-02-17 20:07:42 +0100
commit2420f3f2cd1b1e97b7a32c0a9b1da6673a3c79a3 (patch)
treec28ccb33ca75e3d8dff8b89e4b5c3afb33bf0cbd
parentc2c8bef66ae212588afe20683b4adc85a5963134 (diff)
do not warn user if bookmark already exists
-rw-r--r--src/main/java/de/pixart/messenger/entities/Account.java8
-rw-r--r--src/main/java/de/pixart/messenger/ui/StartConversationActivity.java9
-rw-r--r--src/main/res/values/strings.xml1
3 files changed, 7 insertions, 11 deletions
diff --git a/src/main/java/de/pixart/messenger/entities/Account.java b/src/main/java/de/pixart/messenger/entities/Account.java
index c270f5b43..154f98af9 100644
--- a/src/main/java/de/pixart/messenger/entities/Account.java
+++ b/src/main/java/de/pixart/messenger/entities/Account.java
@@ -541,13 +541,7 @@ public class Account extends AbstractEntity implements AvatarService.Avatarable
}
}
- public boolean hasBookmarkFor(final Jid jid) {
- synchronized (this.bookmarks) {
- return this.bookmarks.containsKey(jid.asBareJid());
- }
- }
-
- Bookmark getBookmark(final Jid jid) {
+ public Bookmark getBookmark(final Jid jid) {
synchronized (this.bookmarks) {
return this.bookmarks.get(jid.asBareJid());
}
diff --git a/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java b/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java
index 8f4e468c7..82379facd 100644
--- a/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java
@@ -1003,10 +1003,12 @@ public class StartConversationActivity extends XmppActivity implements XmppConne
}
if (isBookmarkChecked) {
- if (account.hasBookmarkFor(conferenceJid)) {
- layout.setError(getString(R.string.bookmark_already_exists));
+ Bookmark bookmark = account.getBookmark(conferenceJid);
+ if (bookmark != null) {
+ dialog.dismiss();
+ openConversationsForBookmark(bookmark);
} else {
- final Bookmark bookmark = new Bookmark(account, conferenceJid.asBareJid());
+ bookmark = new Bookmark(account, conferenceJid.asBareJid());
bookmark.setAutojoin(getBooleanPreference("autojoin", R.bool.autojoin));
final String nick = conferenceJid.getResource();
if (nick != null && !nick.isEmpty() && !nick.equals(MucOptions.defaultNick(account))) {
@@ -1100,6 +1102,7 @@ public class StartConversationActivity extends XmppActivity implements XmppConne
final AdapterView.AdapterContextMenuInfo acmi = (AdapterContextMenuInfo) menuInfo;
if (mResContextMenu == R.menu.conference_context) {
activity.conference_context_id = acmi.position;
+ //TODO hide share if known to be private
} else if (mResContextMenu == R.menu.contact_context) {
activity.contact_context_id = acmi.position;
final Contact contact = (Contact) activity.contacts.get(acmi.position);
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 45ba43d61..280eeaceb 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -215,7 +215,6 @@
<string name="channel_bare_jid_example">channel@conference.example.com</string>
<string name="save_as_bookmark">Save as bookmark</string>
<string name="delete_bookmark">Delete bookmark</string>
- <string name="bookmark_already_exists">This bookmark already exists</string>
<string name="topic">Topic</string>
<string name="joining_conference">Joining group chat…</string>
<string name="leave">Leave</string>