aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/de/pixart/messenger/Config.java2
-rw-r--r--src/main/java/de/pixart/messenger/entities/Account.java8
-rw-r--r--src/main/java/de/pixart/messenger/parser/MessageParser.java1
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java6
-rw-r--r--src/main/java/de/pixart/messenger/ui/StartConversationActivity.java14
-rw-r--r--src/main/java/de/pixart/messenger/xml/XmlElementReader.java19
-rw-r--r--src/main/java/de/pixart/messenger/xml/XmlReader.java3
-rw-r--r--src/main/res/drawable/list_item_background_light.xml2
-rw-r--r--src/main/res/layout/activity_media_viewer.xml4
-rw-r--r--src/main/res/layout/activity_trust_keys.xml2
-rw-r--r--src/main/res/values/strings.xml2
-rw-r--r--src/main/res/values/styles.xml8
-rw-r--r--src/main/res/values/themes.xml6
-rw-r--r--src/main/res/xml/file_paths.xml2
14 files changed, 60 insertions, 19 deletions
diff --git a/src/main/java/de/pixart/messenger/Config.java b/src/main/java/de/pixart/messenger/Config.java
index bf7ade63c..daf25028a 100644
--- a/src/main/java/de/pixart/messenger/Config.java
+++ b/src/main/java/de/pixart/messenger/Config.java
@@ -110,7 +110,7 @@ public final class Config {
public static final boolean REMOVE_BROKEN_DEVICES = false;
public static final boolean OMEMO_PADDING = false;
public static final boolean PUT_AUTH_TAG_INTO_KEY = true;
- public static final boolean TWELVE_BYTE_IV = false;
+ public static final boolean TWELVE_BYTE_IV = true;
public static final int MAX_DISPLAY_MESSAGE_CHARS = 4096;
public static final int MAX_STORAGE_MESSAGE_CHARS = 2 * 1024 * 1024; //2MB
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/parser/MessageParser.java b/src/main/java/de/pixart/messenger/parser/MessageParser.java
index 5fd701f89..ff0c3066a 100644
--- a/src/main/java/de/pixart/messenger/parser/MessageParser.java
+++ b/src/main/java/de/pixart/messenger/parser/MessageParser.java
@@ -551,6 +551,7 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece
if (conversation.getMucOptions().isSelf(counterpart)) {
status = Message.STATUS_SEND_RECEIVED;
isCarbon = true; //not really carbon but received from another resource
+ //TODO this would be the place to change the body after something like mod_pastebin
if (mXmppConnectionService.markMessage(conversation, remoteMsgId, status, serverMsgId)) {
return;
} else if (remoteMsgId == null || Config.IGNORE_ID_REWRITE_IN_MUC) {
diff --git a/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java b/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java
index 87207b0cd..eb452015f 100644
--- a/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/ConferenceDetailsActivity.java
@@ -510,7 +510,11 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
setTitle(mucOptions.isPrivateAndNonAnonymous() ? R.string.conference_details : R.string.channel_details);
this.binding.editMucNameButton.setVisibility((self.getAffiliation().ranks(MucOptions.Affiliation.OWNER) || mucOptions.canChangeSubject()) ? View.VISIBLE : View.GONE);
this.binding.detailsAccount.setText(getString(R.string.using_account, account));
- this.binding.jid.setText(mConversation.getJid().asBareJid().toEscapedString());
+ if (mConversation.isPrivateAndNonAnonymous()) {
+ this.binding.jid.setText(getString(R.string.hosted_on, mConversation.getJid().getDomain()));
+ } else {
+ this.binding.jid.setText(mConversation.getJid().asBareJid().toEscapedString());
+ }
if (xmppConnectionService.multipleAccounts()) {
this.binding.detailsAccount.setVisibility(View.VISIBLE);
} else {
diff --git a/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java b/src/main/java/de/pixart/messenger/ui/StartConversationActivity.java
index 8f4e468c7..b0e880cba 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,10 @@ 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;
+ final Bookmark bookmark = (Bookmark) activity.conferences.get(acmi.position);
+ final Conversation conversation = bookmark.getConversation();
+ final MenuItem share = menu.findItem(R.id.context_share_uri);
+ share.setVisible(conversation == null || !conversation.isPrivateAndNonAnonymous());
} else if (mResContextMenu == R.menu.contact_context) {
activity.contact_context_id = acmi.position;
final Contact contact = (Contact) activity.contacts.get(acmi.position);
@@ -1110,7 +1116,7 @@ public class StartConversationActivity extends XmppActivity implements XmppConne
showContactDetailsItem.setVisible(false);
}
deleteContactMenuItem.setVisible(contact.showInRoster() && !contact.getOption(Contact.Options.SYNCED_VIA_OTHER));
- XmppConnection xmpp = contact.getAccount().getXmppConnection();
+ final XmppConnection xmpp = contact.getAccount().getXmppConnection();
if (xmpp != null && xmpp.getFeatures().blocking() && !contact.isSelf()) {
if (contact.isBlocked()) {
blockUnblockItem.setTitle(R.string.unblock_contact);
diff --git a/src/main/java/de/pixart/messenger/xml/XmlElementReader.java b/src/main/java/de/pixart/messenger/xml/XmlElementReader.java
new file mode 100644
index 000000000..108822509
--- /dev/null
+++ b/src/main/java/de/pixart/messenger/xml/XmlElementReader.java
@@ -0,0 +1,19 @@
+package de.pixart.messenger.xml;
+
+import com.google.common.io.ByteSource;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+public class XmlElementReader {
+
+ public static Element read(byte[] bytes) throws IOException {
+ return read(ByteSource.wrap(bytes).openStream());
+ }
+
+ public static Element read(InputStream inputStream) throws IOException {
+ final XmlReader xmlReader = new XmlReader();
+ xmlReader.setInputStream(inputStream);
+ return xmlReader.readElement(xmlReader.readTag());
+ }
+} \ No newline at end of file
diff --git a/src/main/java/de/pixart/messenger/xml/XmlReader.java b/src/main/java/de/pixart/messenger/xml/XmlReader.java
index 6447f12ef..ef2a33158 100644
--- a/src/main/java/de/pixart/messenger/xml/XmlReader.java
+++ b/src/main/java/de/pixart/messenger/xml/XmlReader.java
@@ -87,8 +87,7 @@ public class XmlReader implements Closeable {
return null;
}
- public Element readElement(Tag currentTag) throws XmlPullParserException,
- IOException {
+ public Element readElement(Tag currentTag) throws IOException {
Element element = new Element(currentTag.getName());
element.setAttributes(currentTag.getAttributes());
Tag nextTag = this.readTag();
diff --git a/src/main/res/drawable/list_item_background_light.xml b/src/main/res/drawable/list_item_background_light.xml
index f064403da..917f85dab 100644
--- a/src/main/res/drawable/list_item_background_light.xml
+++ b/src/main/res/drawable/list_item_background_light.xml
@@ -28,5 +28,5 @@
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:drawable="@color/grey300" android:state_activated="true" />
+ <item android:drawable="@color/grey500" android:state_activated="true" />
</selector> \ No newline at end of file
diff --git a/src/main/res/layout/activity_media_viewer.xml b/src/main/res/layout/activity_media_viewer.xml
index 2b64fb81a..c82ed1603 100644
--- a/src/main/res/layout/activity_media_viewer.xml
+++ b/src/main/res/layout/activity_media_viewer.xml
@@ -26,6 +26,10 @@
android:id="@+id/messageVideoView"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ app:played_color="?attr/colorAccent"
+ app:scrubber_color="?attr/colorAccent"
+ app:show_shuffle_button="false"
+ app:show_buffering="never"
android:visibility="gone" />
<com.leinardi.android.speeddial.SpeedDialOverlayLayout
diff --git a/src/main/res/layout/activity_trust_keys.xml b/src/main/res/layout/activity_trust_keys.xml
index 178cd04c8..30a9d3906 100644
--- a/src/main/res/layout/activity_trust_keys.xml
+++ b/src/main/res/layout/activity_trust_keys.xml
@@ -92,7 +92,7 @@
android:paddingEnd="16dp"
android:paddingRight="16dp"
android:text="@string/disable_encryption"
- android:textColor="@color/accent" />
+ android:textColor="?attr/colorAccent" />
</LinearLayout>
</LinearLayout>
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 45ba43d61..2368e3c3e 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>
@@ -1005,4 +1004,5 @@
<string name="show_videos_images_only">Only images/videos</string>
<string name="show_avatar">Show avatar</string>
<string name="action_delete">Delete</string>
+ <string name="hosted_on">hosted on %s</string>
</resources>
diff --git a/src/main/res/values/styles.xml b/src/main/res/values/styles.xml
index 185699519..0b5fdc3ac 100644
--- a/src/main/res/values/styles.xml
+++ b/src/main/res/values/styles.xml
@@ -154,4 +154,12 @@
<style name="Conversations.Dialog" parent="ThemeOverlay.MaterialComponents.Dialog.Alert" >
<item name="android:buttonStyle">@style/Widget.Conversations.Button.Borderless</item>
</style>
+
+ <style name="ExoMediaButton.Previous">
+ <item name="android:visibility">gone</item>
+ </style>
+
+ <style name="ExoMediaButton.Next">
+ <item name="android:visibility">gone</item>
+ </style>
</resources> \ No newline at end of file
diff --git a/src/main/res/values/themes.xml b/src/main/res/values/themes.xml
index d20d1c304..dfb07ab52 100644
--- a/src/main/res/values/themes.xml
+++ b/src/main/res/values/themes.xml
@@ -336,6 +336,9 @@
<item name="color_bubble_warning">@color/lightred</item>
<item name="chat_bg">@drawable/bg_light_orange</item>
+
+ <item name="windowActionModeOverlay">true</item>
+ <item name="android:actionModeBackground">@color/accent_orange</item>
</style>
<style name="ConversationsTheme.Orange.Dark" parent="ConversationsTheme.Dark">
@@ -351,6 +354,9 @@
<item name="color_bubble_warning">@color/darkred</item>
<item name="chat_bg">@drawable/bg_dark_orange</item>
+
+ <item name="windowActionModeOverlay">true</item>
+ <item name="android:actionModeBackground">@color/accent_orange</item>
</style>
<style name="ConversationsTheme.Dialog" parent="Theme.MaterialComponents.Light.Dialog">
diff --git a/src/main/res/xml/file_paths.xml b/src/main/res/xml/file_paths.xml
index 847faf68f..0cc514a45 100644
--- a/src/main/res/xml/file_paths.xml
+++ b/src/main/res/xml/file_paths.xml
@@ -11,7 +11,7 @@
path="Images/" />
<files-path
name="videos"
- path="Videos" />
+ path="Videos/" />
<files-path
name="files"
path="Files/" />