Merge branch 'master' of github.com:iNPUTmice/Conversations

Stephen Paul Weber created

* 'master' of github.com:iNPUTmice/Conversations:
  bump agp
  version bump to 2.10.6
  pulled translations from transifex
  do not merge failed decryptions
  version bump firebasse-messaging lib

Change summary

CHANGELOG.md                                                             |  4 
build.gradle                                                             |  6 
gradle/wrapper/gradle-wrapper.properties                                 |  4 
src/cheogram/AndroidManifest.xml                                         |  3 
src/conversations/AndroidManifest.xml                                    |  3 
src/main/AndroidManifest.xml                                             |  3 
src/main/java/eu/siacs/conversations/entities/Message.java               | 10 
src/main/java/eu/siacs/conversations/services/XmppConnectionService.java |  2 
src/main/res/values-it/strings.xml                                       |  1 
src/playstore/AndroidManifest.xml                                        |  1 
src/quicksy/AndroidManifest.xml                                          |  3 
11 files changed, 23 insertions(+), 17 deletions(-)

Detailed changes

CHANGELOG.md ๐Ÿ”—

@@ -1,5 +1,9 @@
 # Changelog
 
+### Version 2.10.6
+
+* Minor bug fixes
+
 ### Version 2.10.5
 
 * Security: Stop downloading files that exceed advertised file size

build.gradle ๐Ÿ”—

@@ -6,7 +6,7 @@ buildscript {
         mavenCentral()
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:7.1.3'
+        classpath 'com.android.tools.build:gradle:7.2.0'
     }
 }
 
@@ -58,7 +58,7 @@ dependencies {
 
     implementation 'androidx.viewpager:viewpager:1.0.0'
 
-    playstoreImplementation('com.google.firebase:firebase-messaging:23.0.2') {
+    playstoreImplementation('com.google.firebase:firebase-messaging:23.0.3') {
         exclude group: 'com.google.firebase', module: 'firebase-core'
         exclude group: 'com.google.firebase', module: 'firebase-analytics'
         exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
@@ -114,6 +114,7 @@ ext {
 }
 
 android {
+    namespace 'eu.siacs.conversations'
     compileSdkVersion 31
 
     defaultConfig {
@@ -273,7 +274,6 @@ android {
         disable 'MissingTranslation', 'InvalidPackage', 'AppCompatResource'
     }
 
-
     android.applicationVariants.all { variant ->
         variant.outputs.each { output ->
             def baseAbiVersionCode = project.ext.abiCodes.get(output.getFilter(com.android.build.OutputFile.ABI))

gradle/wrapper/gradle-wrapper.properties ๐Ÿ”—

@@ -1,6 +1,6 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionSha256Sum=a8da5b02437a60819cad23e10fc7e9cf32bcb57029d9cb277e26eeff76ce014b
+distributionSha256Sum=c9490e938b221daf0094982288e4038deed954a3f12fb54cbf270ddf4e37d879
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip

src/cheogram/AndroidManifest.xml ๐Ÿ”—

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    package="eu.siacs.conversations">
+    xmlns:tools="http://schemas.android.com/tools">
 
     <uses-permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE" />
 

src/conversations/AndroidManifest.xml ๐Ÿ”—

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    package="eu.siacs.conversations">
+    xmlns:tools="http://schemas.android.com/tools">
 
     <application tools:ignore="GoogleAppIndexingWarning">
         <activity

src/main/AndroidManifest.xml ๐Ÿ”—

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    package="eu.siacs.conversations">
+    xmlns:tools="http://schemas.android.com/tools">
 
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

src/main/java/eu/siacs/conversations/entities/Message.java ๐Ÿ”—

@@ -16,6 +16,7 @@ import java.lang.ref.WeakReference;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
@@ -669,9 +670,8 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable
                         message.getEncryption() != Message.ENCRYPTION_DECRYPTION_FAILED &&
                         this.getType() == message.getType() &&
                         this.getSubject() != null &&
-                        //this.getStatus() == message.getStatus() &&
                         isStatusMergeable(this.getStatus(), message.getStatus()) &&
-                        this.getEncryption() == message.getEncryption() &&
+                        isEncryptionMergeable(this.getEncryption(),message.getEncryption()) &&
                         this.getCounterpart() != null &&
                         this.getCounterpart().equals(message.getCounterpart()) &&
                         this.edited() == message.edited() &&
@@ -704,6 +704,12 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable
         );
     }
 
+    private static boolean isEncryptionMergeable(final int a, final int b) {
+        return a == b
+                && Arrays.asList(ENCRYPTION_NONE, ENCRYPTION_DECRYPTED, ENCRYPTION_AXOLOTL)
+                        .contains(a);
+    }
+
     public void setCounterparts(List<MucOptions.User> counterparts) {
         this.counterparts = counterparts;
     }

src/main/res/values-it/strings.xml ๐Ÿ”—

@@ -465,6 +465,7 @@
     <string name="download_failed_file_not_found">Scaricamento fallito: file non trovato</string>
     <string name="download_failed_could_not_connect">Scaricamento fallito: impossibile connettersi all\'host</string>
     <string name="download_failed_could_not_write_file">Scaricamento fallito: scrittura del file impossibile</string>
+    <string name="download_failed_invalid_file">Scaricamento fallito: file non valido</string>
     <string name="account_status_tor_unavailable">Rete Tor non disponibile</string>
     <string name="account_status_bind_failure">Bind fallito</string>
     <string name="account_status_host_unknown">Il server non รจ responsabile per questo dominio</string>

src/playstore/AndroidManifest.xml ๐Ÿ”—

@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:tools="http://schemas.android.com/tools"
-    package="eu.siacs.conversations"
     xmlns:android="http://schemas.android.com/apk/res/android">
 
     <application tools:ignore="GoogleAppIndexingWarning">

src/quicksy/AndroidManifest.xml ๐Ÿ”—

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    package="eu.siacs.conversations">
+    xmlns:tools="http://schemas.android.com/tools">
 
     <application
         android:icon="@mipmap/new_launcher"