浏览代码

Update code base for Android Studio 4.1.3

Remove lombock @Data annotations
Replace FindBugs with SpotBugs
Update Lombock version

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
Andy Scherzinger 4 年之前
父节点
当前提交
61aaae4dc2
共有 100 个文件被更改,包括 7102 次插入283 次删除
  1. 32 26
      app/build.gradle
  2. 206 8
      app/src/main/java/com/nextcloud/talk/components/filebrowser/models/BrowserFile.java
  3. 61 2
      app/src/main/java/com/nextcloud/talk/components/filebrowser/models/DavResponse.java
  4. 13 7
      app/src/main/java/com/nextcloud/talk/components/filebrowser/models/properties/NCEncrypted.java
  5. 8 4
      app/src/main/java/com/nextcloud/talk/components/filebrowser/models/properties/NCPermission.java
  6. 13 7
      app/src/main/java/com/nextcloud/talk/components/filebrowser/models/properties/NCPreview.java
  7. 13 7
      app/src/main/java/com/nextcloud/talk/components/filebrowser/models/properties/OCFavorite.java
  8. 13 7
      app/src/main/java/com/nextcloud/talk/components/filebrowser/models/properties/OCId.java
  9. 12 7
      app/src/main/java/com/nextcloud/talk/components/filebrowser/models/properties/OCSize.java
  10. 71 3
      app/src/main/java/com/nextcloud/talk/events/BottomSheetLockEvent.java
  11. 29 3
      app/src/main/java/com/nextcloud/talk/events/ConfigurationChangeEvent.java
  12. 68 3
      app/src/main/java/com/nextcloud/talk/events/EventStatus.java
  13. 63 3
      app/src/main/java/com/nextcloud/talk/events/MediaStreamEvent.java
  14. 39 2
      app/src/main/java/com/nextcloud/talk/events/MoreMenuClickEvent.java
  15. 39 3
      app/src/main/java/com/nextcloud/talk/events/NetworkEvent.java
  16. 83 2
      app/src/main/java/com/nextcloud/talk/events/PeerConnectionEvent.java
  17. 88 3
      app/src/main/java/com/nextcloud/talk/events/SessionDescriptionSendEvent.java
  18. 43 3
      app/src/main/java/com/nextcloud/talk/events/UserMentionClickEvent.java
  19. 58 4
      app/src/main/java/com/nextcloud/talk/events/WebSocketCommunicationEvent.java
  20. 62 2
      app/src/main/java/com/nextcloud/talk/models/ExternalSignalingServer.java
  21. 74 2
      app/src/main/java/com/nextcloud/talk/models/ImportAccount.java
  22. 76 2
      app/src/main/java/com/nextcloud/talk/models/LoginData.java
  23. 61 2
      app/src/main/java/com/nextcloud/talk/models/RetrofitBucket.java
  24. 66 3
      app/src/main/java/com/nextcloud/talk/models/RingtoneSettings.java
  25. 59 2
      app/src/main/java/com/nextcloud/talk/models/SignatureVerification.java
  26. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteOCS.java
  27. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteOverall.java
  28. 77 2
      app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteUser.java
  29. 106 3
      app/src/main/java/com/nextcloud/talk/models/json/capabilities/Capabilities.java
  30. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesList.java
  31. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesOCS.java
  32. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesOverall.java
  33. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/capabilities/NotificationsCapability.java
  34. 46 3
      app/src/main/java/com/nextcloud/talk/models/json/capabilities/ProvisioningCapability.java
  35. 62 2
      app/src/main/java/com/nextcloud/talk/models/json/capabilities/SpreedCapability.java
  36. 176 2
      app/src/main/java/com/nextcloud/talk/models/json/capabilities/ThemingCapability.java
  37. 289 4
      app/src/main/java/com/nextcloud/talk/models/json/chat/ChatMessage.java
  38. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOCS.java
  39. 46 3
      app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOCSSingleMessage.java
  40. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOverall.java
  41. 46 3
      app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOverallSingleMessage.java
  42. 395 3
      app/src/main/java/com/nextcloud/talk/models/json/conversations/Conversation.java
  43. 46 2
      app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomOCS.java
  44. 46 2
      app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomOverall.java
  45. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomsOCS.java
  46. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomsOverall.java
  47. 74 2
      app/src/main/java/com/nextcloud/talk/models/json/generic/GenericMeta.java
  48. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/generic/GenericOCS.java
  49. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/generic/GenericOverall.java
  50. 128 2
      app/src/main/java/com/nextcloud/talk/models/json/generic/Status.java
  51. 77 2
      app/src/main/java/com/nextcloud/talk/models/json/mention/Mention.java
  52. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/mention/MentionOCS.java
  53. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/mention/MentionOverall.java
  54. 253 4
      app/src/main/java/com/nextcloud/talk/models/json/notifications/Notification.java
  55. 89 2
      app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationAction.java
  56. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOCS.java
  57. 46 2
      app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOverall.java
  58. 77 2
      app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationRichObject.java
  59. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationsOCS.java
  60. 46 2
      app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationsOverall.java
  61. 46 2
      app/src/main/java/com/nextcloud/talk/models/json/participants/AddParticipantOverall.java
  62. 175 2
      app/src/main/java/com/nextcloud/talk/models/json/participants/Participant.java
  63. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/participants/ParticipantsOCS.java
  64. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/participants/ParticipantsOverall.java
  65. 172 2
      app/src/main/java/com/nextcloud/talk/models/json/push/DecryptedPushMessage.java
  66. 77 2
      app/src/main/java/com/nextcloud/talk/models/json/push/NotificationUser.java
  67. 104 2
      app/src/main/java/com/nextcloud/talk/models/json/push/PushConfigurationState.java
  68. 77 2
      app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistration.java
  69. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistrationOCS.java
  70. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistrationOverall.java
  71. 46 3
      app/src/main/java/com/nextcloud/talk/models/json/search/ContactsByNumberOCS.java
  72. 46 3
      app/src/main/java/com/nextcloud/talk/models/json/search/ContactsByNumberOverall.java
  73. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/sharees/ExactSharees.java
  74. 77 2
      app/src/main/java/com/nextcloud/talk/models/json/sharees/Sharee.java
  75. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/sharees/ShareesOCS.java
  76. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/sharees/ShareesOverall.java
  77. 61 2
      app/src/main/java/com/nextcloud/talk/models/json/sharees/SharesData.java
  78. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/sharees/Value.java
  79. 59 2
      app/src/main/java/com/nextcloud/talk/models/json/signaling/DataChannelMessage.java
  80. 59 2
      app/src/main/java/com/nextcloud/talk/models/json/signaling/DataChannelMessageNick.java
  81. 74 2
      app/src/main/java/com/nextcloud/talk/models/json/signaling/NCIceCandidate.java
  82. 107 2
      app/src/main/java/com/nextcloud/talk/models/json/signaling/NCMessagePayload.java
  83. 77 2
      app/src/main/java/com/nextcloud/talk/models/json/signaling/NCMessageWrapper.java
  84. 137 2
      app/src/main/java/com/nextcloud/talk/models/json/signaling/NCSignalingMessage.java
  85. 61 2
      app/src/main/java/com/nextcloud/talk/models/json/signaling/Signaling.java
  86. 46 2
      app/src/main/java/com/nextcloud/talk/models/json/signaling/SignalingOCS.java
  87. 46 2
      app/src/main/java/com/nextcloud/talk/models/json/signaling/SignalingOverall.java
  88. 91 2
      app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/IceServer.java
  89. 91 2
      app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/Settings.java
  90. 46 2
      app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettingsOcs.java
  91. 46 2
      app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettingsOverall.java
  92. 241 3
      app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileData.java
  93. 49 5
      app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileFieldsOCS.java
  94. 46 3
      app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileFieldsOverall.java
  95. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileOCS.java
  96. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileOverall.java
  97. 77 2
      app/src/main/java/com/nextcloud/talk/models/json/websocket/ActorWebSocketMessage.java
  98. 62 2
      app/src/main/java/com/nextcloud/talk/models/json/websocket/AuthParametersWebSocketMessage.java
  99. 62 2
      app/src/main/java/com/nextcloud/talk/models/json/websocket/AuthWebSocketMessage.java
  100. 47 2
      app/src/main/java/com/nextcloud/talk/models/json/websocket/BaseWebSocketMessage.java

+ 32 - 26
app/build.gradle

@@ -17,12 +17,13 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
+import com.github.spotbugs.snom.SpotBugsTask
 
 apply plugin: 'com.android.application'
 apply plugin: 'kotlin-android'
-apply plugin: 'findbugs'
 apply plugin: 'kotlin-kapt'
 apply plugin: 'kotlin-android-extensions'
+apply plugin: 'com.github.spotbugs'
 apply plugin: 'io.gitlab.arturbosch.detekt'
 
 configurations {
@@ -36,7 +37,7 @@ if (taskRequest.contains("Gplay") || taskRequest.contains("findbugs") || taskReq
 
 android {
     compileSdkVersion 29
-    buildToolsVersion '28.0.3'
+    buildToolsVersion '29.0.2'
     defaultConfig {
         minSdkVersion 21
         targetSdkVersion 29
@@ -107,6 +108,28 @@ android {
         exclude 'META-INF/rxjava.properties'
     }
 
+    android.applicationVariants.all { variant ->
+        String variantName = variant.name
+        String capVariantName = variantName.substring(0, 1).toUpperCase() + variantName.substring(1)
+        tasks.register("spotbugs${capVariantName}Report", SpotBugsTask) {
+            ignoreFailures = true // should continue checking
+            effort = "max"
+            reportLevel = "medium"
+            classes = fileTree("$project.buildDir/intermediates/javac/${variantName}/classes/")
+            excludeFilter = file("${project.rootDir}/spotbugs-filter.xml")
+
+            reports {
+                xml.enabled = false
+                html {
+                    enabled = true
+                    destination = file("$project.buildDir/reports/spotbugs/spotbugs.html")
+                }
+            }
+        }
+    }
+
+    check.dependsOn 'spotbugsGplayDebugReport', 'lint', 'ktlint', 'detekt'
+
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
@@ -118,27 +141,6 @@ android {
         htmlOutput file("$project.buildDir/reports/lint/lint.html")
         disable 'MissingTranslation'
     }
-
-    task findbugs(type: FindBugs) {
-        ignoreFailures = false
-        effort = "max"
-        reportLevel = "medium"
-        classes = fileTree("${project.rootDir}/app/build/intermediates/javac/gplayDebug/classes/com/nextcloud/")
-        excludeFilter = file("${project.rootDir}/findbugs-filter.xml")
-        source = fileTree('src/main/java')
-        pluginClasspath = project.configurations.findbugsPlugins
-        classpath = files()
-        include '**/*.java'
-        exclude '**/gen/**'
-
-        reports {
-            xml.enabled = false
-            html.enabled = true
-            html {
-                destination = file("$project.buildDir/reports/findbugs/findbugs.html")
-            }
-        }
-    }
 }
 
 ext {
@@ -146,7 +148,7 @@ ext {
     coilKtVersion = "1.2.0"
     daggerVersion = "2.34.1"
     okhttpVersion = "3.14.2"
-    lombokVersion = "1.18.10"
+    lombokVersion = "1.18.12"
     materialDialogsVersion = "3.3.0"
     parcelerVersion = "1.1.13"
     powermockVersion = "2.0.9"
@@ -201,6 +203,7 @@ dependencies {
 
     implementation 'com.bluelinelabs:logansquare:1.3.7'
     implementation 'com.fasterxml.jackson.core:jackson-core:2.12.3'
+    annotationProcessor 'com.bluelinelabs:logansquare-compiler:1.3.7'
     kapt 'com.bluelinelabs:logansquare-compiler:1.3.7'
 
     implementation "com.squareup.retrofit2:retrofit:${retrofit2Version}"
@@ -217,12 +220,15 @@ dependencies {
     implementation 'io.requery:requery:1.5.1'
     implementation 'io.requery:requery-android:1.6.1'
     implementation 'net.zetetic:android-database-sqlcipher:3.5.9'
+    annotationProcessor 'io.requery:requery-processor:1.6.1'
     kapt 'io.requery:requery-processor:1.6.1'
     implementation "org.parceler:parceler-api:$parcelerVersion"
+    annotationProcessor "org.parceler:parceler:$parcelerVersion"
     kapt "org.parceler:parceler:$parcelerVersion"
     implementation 'net.orange-box.storebox:storebox-lib:1.4.0'
     compileOnly "org.projectlombok:lombok:${lombokVersion}"
     annotationProcessor "org.projectlombok:lombok:${lombokVersion}"
+    kapt "org.projectlombok:lombok:${lombokVersion}"
     implementation "com.jakewharton:butterknife:${butterknifeVersion}"
     kapt "com.jakewharton:butterknife-compiler:${butterknifeVersion}"
     implementation 'com.github.HITGIF:TextFieldBoxes:1.4.5'
@@ -285,8 +291,8 @@ dependencies {
     androidTestImplementation ('androidx.test.espresso:espresso-core:3.3.0', {
         exclude group: 'com.android.support', module: 'support-annotations'
     })
-    findbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.11.0'
-    findbugsPlugins 'com.mebigfatguy.fb-contrib:fb-contrib:7.4.6'
+    spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.11.0'
+    spotbugsPlugins 'com.mebigfatguy.fb-contrib:fb-contrib:7.4.6'
 }
 
 task ktlint(type: JavaExec, group: "verification") {

+ 206 - 8
app/src/main/java/com/nextcloud/talk/components/filebrowser/models/BrowserFile.java

@@ -22,21 +22,27 @@ package com.nextcloud.talk.components.filebrowser.models;
 
 import android.net.Uri;
 import android.text.TextUtils;
+
+import com.bluelinelabs.logansquare.annotation.JsonObject;
+import com.nextcloud.talk.components.filebrowser.models.properties.NCEncrypted;
+import com.nextcloud.talk.components.filebrowser.models.properties.NCPermission;
+import com.nextcloud.talk.components.filebrowser.models.properties.NCPreview;
+import com.nextcloud.talk.components.filebrowser.models.properties.OCFavorite;
+import com.nextcloud.talk.components.filebrowser.models.properties.OCId;
+import com.nextcloud.talk.components.filebrowser.models.properties.OCSize;
+
+import org.parceler.Parcel;
+
+import java.io.File;
+import java.util.List;
+
 import at.bitfire.dav4android.Property;
 import at.bitfire.dav4android.Response;
 import at.bitfire.dav4android.property.DisplayName;
 import at.bitfire.dav4android.property.GetContentType;
 import at.bitfire.dav4android.property.GetLastModified;
 import at.bitfire.dav4android.property.ResourceType;
-import com.bluelinelabs.logansquare.annotation.JsonObject;
-import com.nextcloud.talk.components.filebrowser.models.properties.*;
-import lombok.Data;
-import org.parceler.Parcel;
-
-import java.io.File;
-import java.util.List;
 
-@Data
 @JsonObject
 @Parcel
 public class BrowserFile {
@@ -54,6 +60,9 @@ public class BrowserFile {
     public String permissions;
     private boolean isAllowedToReShare = false;
 
+    public BrowserFile() {
+    }
+
     public static BrowserFile getModelFromResponse(Response response, String remotePath) {
         BrowserFile browserFile = new BrowserFile();
         browserFile.setPath(Uri.decode(remotePath));
@@ -113,4 +122,193 @@ public class BrowserFile {
 
         return browserFile;
     }
+
+    public String getPath() {
+        return this.path;
+    }
+
+    public String getDisplayName() {
+        return this.displayName;
+    }
+
+    public String getMimeType() {
+        return this.mimeType;
+    }
+
+    public long getModifiedTimestamp() {
+        return this.modifiedTimestamp;
+    }
+
+    public long getSize() {
+        return this.size;
+    }
+
+    public boolean isFile() {
+        return this.isFile;
+    }
+
+    public String getRemoteId() {
+        return this.remoteId;
+    }
+
+    public boolean isHasPreview() {
+        return this.hasPreview;
+    }
+
+    public boolean isFavorite() {
+        return this.favorite;
+    }
+
+    public boolean isEncrypted() {
+        return this.encrypted;
+    }
+
+    public String getPermissions() {
+        return this.permissions;
+    }
+
+    public boolean isAllowedToReShare() {
+        return this.isAllowedToReShare;
+    }
+
+    public void setPath(String path) {
+        this.path = path;
+    }
+
+    public void setDisplayName(String displayName) {
+        this.displayName = displayName;
+    }
+
+    public void setMimeType(String mimeType) {
+        this.mimeType = mimeType;
+    }
+
+    public void setModifiedTimestamp(long modifiedTimestamp) {
+        this.modifiedTimestamp = modifiedTimestamp;
+    }
+
+    public void setSize(long size) {
+        this.size = size;
+    }
+
+    public void setFile(boolean isFile) {
+        this.isFile = isFile;
+    }
+
+    public void setRemoteId(String remoteId) {
+        this.remoteId = remoteId;
+    }
+
+    public void setHasPreview(boolean hasPreview) {
+        this.hasPreview = hasPreview;
+    }
+
+    public void setFavorite(boolean favorite) {
+        this.favorite = favorite;
+    }
+
+    public void setEncrypted(boolean encrypted) {
+        this.encrypted = encrypted;
+    }
+
+    public void setPermissions(String permissions) {
+        this.permissions = permissions;
+    }
+
+    public void setAllowedToReShare(boolean isAllowedToReShare) {
+        this.isAllowedToReShare = isAllowedToReShare;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof BrowserFile)) {
+            return false;
+        }
+        final BrowserFile other = (BrowserFile) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$path = this.getPath();
+        final Object other$path = other.getPath();
+        if (this$path == null ? other$path != null : !this$path.equals(other$path)) {
+            return false;
+        }
+        final Object this$displayName = this.getDisplayName();
+        final Object other$displayName = other.getDisplayName();
+        if (this$displayName == null ? other$displayName != null : !this$displayName.equals(other$displayName)) {
+            return false;
+        }
+        final Object this$mimeType = this.getMimeType();
+        final Object other$mimeType = other.getMimeType();
+        if (this$mimeType == null ? other$mimeType != null : !this$mimeType.equals(other$mimeType)) {
+            return false;
+        }
+        if (this.getModifiedTimestamp() != other.getModifiedTimestamp()) {
+            return false;
+        }
+        if (this.getSize() != other.getSize()) {
+            return false;
+        }
+        if (this.isFile() != other.isFile()) {
+            return false;
+        }
+        final Object this$remoteId = this.getRemoteId();
+        final Object other$remoteId = other.getRemoteId();
+        if (this$remoteId == null ? other$remoteId != null : !this$remoteId.equals(other$remoteId)) {
+            return false;
+        }
+        if (this.isHasPreview() != other.isHasPreview()) {
+            return false;
+        }
+        if (this.isFavorite() != other.isFavorite()) {
+            return false;
+        }
+        if (this.isEncrypted() != other.isEncrypted()) {
+            return false;
+        }
+        final Object this$permissions = this.getPermissions();
+        final Object other$permissions = other.getPermissions();
+        if (this$permissions == null ? other$permissions != null : !this$permissions.equals(other$permissions)) {
+            return false;
+        }
+        if (this.isAllowedToReShare() != other.isAllowedToReShare()) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof BrowserFile;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $path = this.getPath();
+        result = result * PRIME + ($path == null ? 43 : $path.hashCode());
+        final Object $displayName = this.getDisplayName();
+        result = result * PRIME + ($displayName == null ? 43 : $displayName.hashCode());
+        final Object $mimeType = this.getMimeType();
+        result = result * PRIME + ($mimeType == null ? 43 : $mimeType.hashCode());
+        final long $modifiedTimestamp = this.getModifiedTimestamp();
+        result = result * PRIME + (int) ($modifiedTimestamp >>> 32 ^ $modifiedTimestamp);
+        final long $size = this.getSize();
+        result = result * PRIME + (int) ($size >>> 32 ^ $size);
+        result = result * PRIME + (this.isFile() ? 79 : 97);
+        final Object $remoteId = this.getRemoteId();
+        result = result * PRIME + ($remoteId == null ? 43 : $remoteId.hashCode());
+        result = result * PRIME + (this.isHasPreview() ? 79 : 97);
+        result = result * PRIME + (this.isFavorite() ? 79 : 97);
+        result = result * PRIME + (this.isEncrypted() ? 79 : 97);
+        final Object $permissions = this.getPermissions();
+        result = result * PRIME + ($permissions == null ? 43 : $permissions.hashCode());
+        result = result * PRIME + (this.isAllowedToReShare() ? 79 : 97);
+        return result;
+    }
+
+    public String toString() {
+        return "BrowserFile(path=" + this.getPath() + ", displayName=" + this.getDisplayName() + ", mimeType=" + this.getMimeType() + ", modifiedTimestamp=" + this.getModifiedTimestamp() + ", size=" + this.getSize() + ", isFile=" + this.isFile() + ", remoteId=" + this.getRemoteId() + ", hasPreview=" + this.isHasPreview() + ", favorite=" + this.isFavorite() + ", encrypted=" + this.isEncrypted() + ", permissions=" + this.getPermissions() + ", isAllowedToReShare=" + this.isAllowedToReShare() + ")";
+    }
 }

+ 61 - 2
app/src/main/java/com/nextcloud/talk/components/filebrowser/models/DavResponse.java

@@ -21,10 +21,69 @@
 package com.nextcloud.talk.components.filebrowser.models;
 
 import at.bitfire.dav4android.Response;
-import lombok.Data;
 
-@Data
 public class DavResponse {
     public Response response;
     public Object data;
+
+    public DavResponse() {
+    }
+
+    public Response getResponse() {
+        return this.response;
+    }
+
+    public Object getData() {
+        return this.data;
+    }
+
+    public void setResponse(Response response) {
+        this.response = response;
+    }
+
+    public void setData(Object data) {
+        this.data = data;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof DavResponse)) {
+            return false;
+        }
+        final DavResponse other = (DavResponse) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$response = this.getResponse();
+        final Object other$response = other.getResponse();
+        if (this$response == null ? other$response != null : !this$response.equals(other$response)) {
+            return false;
+        }
+        final Object this$data = this.getData();
+        final Object other$data = other.getData();
+        if (this$data == null ? other$data != null : !this$data.equals(other$data)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof DavResponse;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $response = this.getResponse();
+        result = result * PRIME + ($response == null ? 43 : $response.hashCode());
+        final Object $data = this.getData();
+        result = result * PRIME + ($data == null ? 43 : $data.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "DavResponse(response=" + this.getResponse() + ", data=" + this.getData() + ")";
+    }
 }

+ 13 - 7
app/src/main/java/com/nextcloud/talk/components/filebrowser/models/properties/NCEncrypted.java

@@ -23,12 +23,8 @@ package com.nextcloud.talk.components.filebrowser.models.properties;
 import android.text.TextUtils;
 import android.util.Log;
 
-import at.bitfire.dav4android.Property;
-import at.bitfire.dav4android.PropertyFactory;
-import at.bitfire.dav4android.XmlUtils;
 import com.nextcloud.talk.components.filebrowser.webdav.DavUtils;
-import lombok.Getter;
-import lombok.Setter;
+
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.xmlpull.v1.XmlPullParser;
@@ -36,17 +32,27 @@ import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.IOException;
 
+import at.bitfire.dav4android.Property;
+import at.bitfire.dav4android.PropertyFactory;
+import at.bitfire.dav4android.XmlUtils;
+
 public class NCEncrypted implements Property {
     public static final Name NAME = new Name(DavUtils.NC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_IS_ENCRYPTED);
 
-    @Getter
-    @Setter
     private boolean ncEncrypted;
 
     private NCEncrypted(boolean isEncrypted) {
         ncEncrypted = isEncrypted;
     }
 
+    public boolean isNcEncrypted() {
+        return this.ncEncrypted;
+    }
+
+    public void setNcEncrypted(boolean ncEncrypted) {
+        this.ncEncrypted = ncEncrypted;
+    }
+
     public static class Factory implements PropertyFactory {
 
         @Nullable

+ 8 - 4
app/src/main/java/com/nextcloud/talk/components/filebrowser/models/properties/NCPermission.java

@@ -37,20 +37,24 @@ import java.io.IOException;
 import at.bitfire.dav4android.Property;
 import at.bitfire.dav4android.PropertyFactory;
 import at.bitfire.dav4android.XmlUtils;
-import lombok.Getter;
-import lombok.Setter;
 
 public class NCPermission implements Property {
     public static final Name NAME = new Name(DavUtils.OC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_NAME_PERMISSIONS);
 
-    @Getter
-    @Setter
     private String ncPermission;
 
     private NCPermission(String p) {
         ncPermission = p;
     }
 
+    public String getNcPermission() {
+        return this.ncPermission;
+    }
+
+    public void setNcPermission(String ncPermission) {
+        this.ncPermission = ncPermission;
+    }
+
     public static class Factory implements PropertyFactory {
 
         @Nullable

+ 13 - 7
app/src/main/java/com/nextcloud/talk/components/filebrowser/models/properties/NCPreview.java

@@ -23,12 +23,8 @@ package com.nextcloud.talk.components.filebrowser.models.properties;
 import android.text.TextUtils;
 import android.util.Log;
 
-import at.bitfire.dav4android.Property;
-import at.bitfire.dav4android.PropertyFactory;
-import at.bitfire.dav4android.XmlUtils;
 import com.nextcloud.talk.components.filebrowser.webdav.DavUtils;
-import lombok.Getter;
-import lombok.Setter;
+
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.xmlpull.v1.XmlPullParser;
@@ -36,17 +32,27 @@ import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.IOException;
 
+import at.bitfire.dav4android.Property;
+import at.bitfire.dav4android.PropertyFactory;
+import at.bitfire.dav4android.XmlUtils;
+
 public class NCPreview implements Property {
     public static final Property.Name NAME = new Property.Name(DavUtils.NC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_HAS_PREVIEW);
 
-    @Getter
-    @Setter
     private boolean ncPreview;
 
     private NCPreview(boolean hasPreview) {
         ncPreview = hasPreview;
     }
 
+    public boolean isNcPreview() {
+        return this.ncPreview;
+    }
+
+    public void setNcPreview(boolean ncPreview) {
+        this.ncPreview = ncPreview;
+    }
+
     public static class Factory implements PropertyFactory {
 
         @Nullable

+ 13 - 7
app/src/main/java/com/nextcloud/talk/components/filebrowser/models/properties/OCFavorite.java

@@ -23,12 +23,8 @@ package com.nextcloud.talk.components.filebrowser.models.properties;
 import android.text.TextUtils;
 import android.util.Log;
 
-import at.bitfire.dav4android.Property;
-import at.bitfire.dav4android.PropertyFactory;
-import at.bitfire.dav4android.XmlUtils;
 import com.nextcloud.talk.components.filebrowser.webdav.DavUtils;
-import lombok.Getter;
-import lombok.Setter;
+
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.xmlpull.v1.XmlPullParser;
@@ -36,17 +32,27 @@ import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.IOException;
 
+import at.bitfire.dav4android.Property;
+import at.bitfire.dav4android.PropertyFactory;
+import at.bitfire.dav4android.XmlUtils;
+
 public class OCFavorite implements Property {
     public static final Property.Name NAME = new Property.Name(DavUtils.OC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_FAVORITE);
 
-    @Getter
-    @Setter
     private boolean ocFavorite;
 
     OCFavorite(boolean isFavorite) {
         ocFavorite = isFavorite;
     }
 
+    public boolean isOcFavorite() {
+        return this.ocFavorite;
+    }
+
+    public void setOcFavorite(boolean ocFavorite) {
+        this.ocFavorite = ocFavorite;
+    }
+
     public static class Factory implements PropertyFactory {
 
         @Nullable

+ 13 - 7
app/src/main/java/com/nextcloud/talk/components/filebrowser/models/properties/OCId.java

@@ -23,12 +23,8 @@ package com.nextcloud.talk.components.filebrowser.models.properties;
 import android.text.TextUtils;
 import android.util.Log;
 
-import at.bitfire.dav4android.Property;
-import at.bitfire.dav4android.PropertyFactory;
-import at.bitfire.dav4android.XmlUtils;
 import com.nextcloud.talk.components.filebrowser.webdav.DavUtils;
-import lombok.Getter;
-import lombok.Setter;
+
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.xmlpull.v1.XmlPullParser;
@@ -36,17 +32,27 @@ import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.IOException;
 
+import at.bitfire.dav4android.Property;
+import at.bitfire.dav4android.PropertyFactory;
+import at.bitfire.dav4android.XmlUtils;
+
 public class OCId implements Property {
     public static final Name NAME = new Name(DavUtils.OC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_NAME_REMOTE_ID);
 
-    @Getter
-    @Setter
     private String ocId;
 
     private OCId(String id) {
         ocId = id;
     }
 
+    public String getOcId() {
+        return this.ocId;
+    }
+
+    public void setOcId(String ocId) {
+        this.ocId = ocId;
+    }
+
     public static class Factory implements PropertyFactory {
 
         @Nullable

+ 12 - 7
app/src/main/java/com/nextcloud/talk/components/filebrowser/models/properties/OCSize.java

@@ -23,13 +23,8 @@ package com.nextcloud.talk.components.filebrowser.models.properties;
 import android.text.TextUtils;
 import android.util.Log;
 
-import at.bitfire.dav4android.Property;
-import at.bitfire.dav4android.PropertyFactory;
-import at.bitfire.dav4android.XmlUtils;
 import com.nextcloud.talk.components.filebrowser.webdav.DavUtils;
 
-import lombok.Getter;
-import lombok.Setter;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.xmlpull.v1.XmlPullParser;
@@ -37,17 +32,27 @@ import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.IOException;
 
+import at.bitfire.dav4android.Property;
+import at.bitfire.dav4android.PropertyFactory;
+import at.bitfire.dav4android.XmlUtils;
+
 public class OCSize implements Property {
     public static final Property.Name NAME = new Property.Name(DavUtils.OC_NAMESPACE, DavUtils.EXTENDED_PROPERTY_NAME_SIZE);
 
-    @Getter
-    @Setter
     private long ocSize;
 
     private OCSize(long size) {
         ocSize = size;
     }
 
+    public long getOcSize() {
+        return this.ocSize;
+    }
+
+    public void setOcSize(long ocSize) {
+        this.ocSize = ocSize;
+    }
+
     public static class Factory implements PropertyFactory {
 
         @Nullable

+ 71 - 3
app/src/main/java/com/nextcloud/talk/events/BottomSheetLockEvent.java

@@ -20,9 +20,6 @@
 
 package com.nextcloud.talk.events;
 
-import lombok.Data;
-
-@Data
 public class BottomSheetLockEvent {
     private final boolean cancelable;
     private final int delay;
@@ -47,4 +44,75 @@ public class BottomSheetLockEvent {
         this.dismissView = dismissView;
     }
 
+    public boolean isCancelable() {
+        return this.cancelable;
+    }
+
+    public int getDelay() {
+        return this.delay;
+    }
+
+    public boolean isShouldRefreshData() {
+        return this.shouldRefreshData;
+    }
+
+    public boolean isCancel() {
+        return this.cancel;
+    }
+
+    public boolean isDismissView() {
+        return this.dismissView;
+    }
+
+    public void setDismissView(boolean dismissView) {
+        this.dismissView = dismissView;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof BottomSheetLockEvent)) {
+            return false;
+        }
+        final BottomSheetLockEvent other = (BottomSheetLockEvent) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        if (this.isCancelable() != other.isCancelable()) {
+            return false;
+        }
+        if (this.getDelay() != other.getDelay()) {
+            return false;
+        }
+        if (this.isShouldRefreshData() != other.isShouldRefreshData()) {
+            return false;
+        }
+        if (this.isCancel() != other.isCancel()) {
+            return false;
+        }
+        if (this.isDismissView() != other.isDismissView()) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof BottomSheetLockEvent;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        result = result * PRIME + (this.isCancelable() ? 79 : 97);
+        result = result * PRIME + this.getDelay();
+        result = result * PRIME + (this.isShouldRefreshData() ? 79 : 97);
+        result = result * PRIME + (this.isCancel() ? 79 : 97);
+        result = result * PRIME + (this.isDismissView() ? 79 : 97);
+        return result;
+    }
+
+    public String toString() {
+        return "BottomSheetLockEvent(cancelable=" + this.isCancelable() + ", delay=" + this.getDelay() + ", shouldRefreshData=" + this.isShouldRefreshData() + ", cancel=" + this.isCancel() + ", dismissView=" + this.isDismissView() + ")";
+    }
 }

+ 29 - 3
app/src/main/java/com/nextcloud/talk/events/ConfigurationChangeEvent.java

@@ -20,8 +20,34 @@
 
 package com.nextcloud.talk.events;
 
-import lombok.Data;
-
-@Data
 public class ConfigurationChangeEvent {
+    public ConfigurationChangeEvent() {
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ConfigurationChangeEvent)) {
+            return false;
+        }
+        final ConfigurationChangeEvent other = (ConfigurationChangeEvent) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ConfigurationChangeEvent;
+    }
+
+    public int hashCode() {
+        int result = 1;
+        return result;
+    }
+
+    public String toString() {
+        return "ConfigurationChangeEvent()";
+    }
 }

+ 68 - 3
app/src/main/java/com/nextcloud/talk/events/EventStatus.java

@@ -20,9 +20,6 @@
 
 package com.nextcloud.talk.events;
 
-import lombok.Data;
-
-@Data
 public class EventStatus {
     private long userId;
     private EventType eventType;
@@ -34,6 +31,74 @@ public class EventStatus {
         this.allGood = allGood;
     }
 
+    public long getUserId() {
+        return this.userId;
+    }
+
+    public EventType getEventType() {
+        return this.eventType;
+    }
+
+    public boolean isAllGood() {
+        return this.allGood;
+    }
+
+    public void setUserId(long userId) {
+        this.userId = userId;
+    }
+
+    public void setEventType(EventType eventType) {
+        this.eventType = eventType;
+    }
+
+    public void setAllGood(boolean allGood) {
+        this.allGood = allGood;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof EventStatus)) {
+            return false;
+        }
+        final EventStatus other = (EventStatus) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        if (this.getUserId() != other.getUserId()) {
+            return false;
+        }
+        final Object this$eventType = this.getEventType();
+        final Object other$eventType = other.getEventType();
+        if (this$eventType == null ? other$eventType != null : !this$eventType.equals(other$eventType)) {
+            return false;
+        }
+        if (this.isAllGood() != other.isAllGood()) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof EventStatus;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final long $userId = this.getUserId();
+        result = result * PRIME + (int) ($userId >>> 32 ^ $userId);
+        final Object $eventType = this.getEventType();
+        result = result * PRIME + ($eventType == null ? 43 : $eventType.hashCode());
+        result = result * PRIME + (this.isAllGood() ? 79 : 97);
+        return result;
+    }
+
+    public String toString() {
+        return "EventStatus(userId=" + this.getUserId() + ", eventType=" + this.getEventType() + ", allGood=" + this.isAllGood() + ")";
+    }
+
     public enum EventType {
         PUSH_REGISTRATION, CAPABILITIES_FETCH, SIGNALING_SETTINGS, CONVERSATION_UPDATE, PARTICIPANTS_UPDATE
     }

+ 63 - 3
app/src/main/java/com/nextcloud/talk/events/MediaStreamEvent.java

@@ -20,11 +20,10 @@
 
 package com.nextcloud.talk.events;
 
-import androidx.annotation.Nullable;
-import lombok.Data;
 import org.webrtc.MediaStream;
 
-@Data
+import androidx.annotation.Nullable;
+
 public class MediaStreamEvent {
     private final MediaStream mediaStream;
     private final String session;
@@ -35,4 +34,65 @@ public class MediaStreamEvent {
         this.session = session;
         this.videoStreamType = videoStreamType;
     }
+
+    public MediaStream getMediaStream() {
+        return this.mediaStream;
+    }
+
+    public String getSession() {
+        return this.session;
+    }
+
+    public String getVideoStreamType() {
+        return this.videoStreamType;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof MediaStreamEvent)) {
+            return false;
+        }
+        final MediaStreamEvent other = (MediaStreamEvent) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$mediaStream = this.getMediaStream();
+        final Object other$mediaStream = other.getMediaStream();
+        if (this$mediaStream == null ? other$mediaStream != null : !this$mediaStream.equals(other$mediaStream)) {
+            return false;
+        }
+        final Object this$session = this.getSession();
+        final Object other$session = other.getSession();
+        if (this$session == null ? other$session != null : !this$session.equals(other$session)) {
+            return false;
+        }
+        final Object this$videoStreamType = this.getVideoStreamType();
+        final Object other$videoStreamType = other.getVideoStreamType();
+        if (this$videoStreamType == null ? other$videoStreamType != null : !this$videoStreamType.equals(other$videoStreamType)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof MediaStreamEvent;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $mediaStream = this.getMediaStream();
+        result = result * PRIME + ($mediaStream == null ? 43 : $mediaStream.hashCode());
+        final Object $session = this.getSession();
+        result = result * PRIME + ($session == null ? 43 : $session.hashCode());
+        final Object $videoStreamType = this.getVideoStreamType();
+        result = result * PRIME + ($videoStreamType == null ? 43 : $videoStreamType.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "MediaStreamEvent(mediaStream=" + this.getMediaStream() + ", session=" + this.getSession() + ", videoStreamType=" + this.getVideoStreamType() + ")";
+    }
 }

+ 39 - 2
app/src/main/java/com/nextcloud/talk/events/MoreMenuClickEvent.java

@@ -21,13 +21,50 @@
 package com.nextcloud.talk.events;
 
 import com.nextcloud.talk.models.json.conversations.Conversation;
-import lombok.Data;
 
-@Data
 public class MoreMenuClickEvent {
     private final Conversation conversation;
 
     public MoreMenuClickEvent(Conversation conversation) {
         this.conversation = conversation;
     }
+
+    public Conversation getConversation() {
+        return this.conversation;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof MoreMenuClickEvent)) {
+            return false;
+        }
+        final MoreMenuClickEvent other = (MoreMenuClickEvent) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$conversation = this.getConversation();
+        final Object other$conversation = other.getConversation();
+        if (this$conversation == null ? other$conversation != null : !this$conversation.equals(other$conversation)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof MoreMenuClickEvent;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $conversation = this.getConversation();
+        result = result * PRIME + ($conversation == null ? 43 : $conversation.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "MoreMenuClickEvent(conversation=" + this.getConversation() + ")";
+    }
 }

+ 39 - 3
app/src/main/java/com/nextcloud/talk/events/NetworkEvent.java

@@ -20,10 +20,46 @@
 
 package com.nextcloud.talk.events;
 
-import lombok.Data;
-
-@Data
 public class NetworkEvent {
+    public NetworkConnectionEvent getNetworkConnectionEvent() {
+        return this.networkConnectionEvent;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof NetworkEvent)) {
+            return false;
+        }
+        final NetworkEvent other = (NetworkEvent) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$networkConnectionEvent = this.getNetworkConnectionEvent();
+        final Object other$networkConnectionEvent = other.getNetworkConnectionEvent();
+        if (this$networkConnectionEvent == null ? other$networkConnectionEvent != null : !this$networkConnectionEvent.equals(other$networkConnectionEvent)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof NetworkEvent;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $networkConnectionEvent = this.getNetworkConnectionEvent();
+        result = result * PRIME + ($networkConnectionEvent == null ? 43 : $networkConnectionEvent.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "NetworkEvent(networkConnectionEvent=" + this.getNetworkConnectionEvent() + ")";
+    }
+
     public enum NetworkConnectionEvent {
         NETWORK_CONNECTED, NETWORK_DISCONNECTED
     }

+ 83 - 2
app/src/main/java/com/nextcloud/talk/events/PeerConnectionEvent.java

@@ -21,9 +21,7 @@
 package com.nextcloud.talk.events;
 
 import androidx.annotation.Nullable;
-import lombok.Data;
 
-@Data
 public class PeerConnectionEvent {
     private final PeerConnectionEventType peerConnectionEventType;
     private final String sessionId;
@@ -40,6 +38,89 @@ public class PeerConnectionEvent {
         this.videoStreamType = videoStreamType;
     }
 
+    public PeerConnectionEventType getPeerConnectionEventType() {
+        return this.peerConnectionEventType;
+    }
+
+    public String getSessionId() {
+        return this.sessionId;
+    }
+
+    public String getNick() {
+        return this.nick;
+    }
+
+    public Boolean getChangeValue() {
+        return this.changeValue;
+    }
+
+    public String getVideoStreamType() {
+        return this.videoStreamType;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof PeerConnectionEvent)) {
+            return false;
+        }
+        final PeerConnectionEvent other = (PeerConnectionEvent) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$peerConnectionEventType = this.getPeerConnectionEventType();
+        final Object other$peerConnectionEventType = other.getPeerConnectionEventType();
+        if (this$peerConnectionEventType == null ? other$peerConnectionEventType != null : !this$peerConnectionEventType.equals(other$peerConnectionEventType)) {
+            return false;
+        }
+        final Object this$sessionId = this.getSessionId();
+        final Object other$sessionId = other.getSessionId();
+        if (this$sessionId == null ? other$sessionId != null : !this$sessionId.equals(other$sessionId)) {
+            return false;
+        }
+        final Object this$nick = this.getNick();
+        final Object other$nick = other.getNick();
+        if (this$nick == null ? other$nick != null : !this$nick.equals(other$nick)) {
+            return false;
+        }
+        final Object this$changeValue = this.getChangeValue();
+        final Object other$changeValue = other.getChangeValue();
+        if (this$changeValue == null ? other$changeValue != null : !this$changeValue.equals(other$changeValue)) {
+            return false;
+        }
+        final Object this$videoStreamType = this.getVideoStreamType();
+        final Object other$videoStreamType = other.getVideoStreamType();
+        if (this$videoStreamType == null ? other$videoStreamType != null : !this$videoStreamType.equals(other$videoStreamType)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof PeerConnectionEvent;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $peerConnectionEventType = this.getPeerConnectionEventType();
+        result = result * PRIME + ($peerConnectionEventType == null ? 43 : $peerConnectionEventType.hashCode());
+        final Object $sessionId = this.getSessionId();
+        result = result * PRIME + ($sessionId == null ? 43 : $sessionId.hashCode());
+        final Object $nick = this.getNick();
+        result = result * PRIME + ($nick == null ? 43 : $nick.hashCode());
+        final Object $changeValue = this.getChangeValue();
+        result = result * PRIME + ($changeValue == null ? 43 : $changeValue.hashCode());
+        final Object $videoStreamType = this.getVideoStreamType();
+        result = result * PRIME + ($videoStreamType == null ? 43 : $videoStreamType.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "PeerConnectionEvent(peerConnectionEventType=" + this.getPeerConnectionEventType() + ", sessionId=" + this.getSessionId() + ", nick=" + this.getNick() + ", changeValue=" + this.getChangeValue() + ", videoStreamType=" + this.getVideoStreamType() + ")";
+    }
+
     public enum PeerConnectionEventType {
         PEER_CONNECTED, PEER_CLOSED, SENSOR_FAR, SENSOR_NEAR, NICK_CHANGE, AUDIO_CHANGE, VIDEO_CHANGE, PUBLISHER_FAILED
     }

+ 88 - 3
app/src/main/java/com/nextcloud/talk/events/SessionDescriptionSendEvent.java

@@ -20,12 +20,12 @@
 
 package com.nextcloud.talk.events;
 
-import androidx.annotation.Nullable;
 import com.nextcloud.talk.models.json.signaling.NCIceCandidate;
-import lombok.Data;
+
 import org.webrtc.SessionDescription;
 
-@Data
+import androidx.annotation.Nullable;
+
 public class SessionDescriptionSendEvent {
     @Nullable
     private final SessionDescription sessionDescription;
@@ -43,4 +43,89 @@ public class SessionDescriptionSendEvent {
         this.ncIceCandidate = ncIceCandidate;
         this.videoStreamType = videoStreamType;
     }
+
+    @Nullable
+    public SessionDescription getSessionDescription() {
+        return this.sessionDescription;
+    }
+
+    public String getPeerId() {
+        return this.peerId;
+    }
+
+    public String getType() {
+        return this.type;
+    }
+
+    @Nullable
+    public NCIceCandidate getNcIceCandidate() {
+        return this.ncIceCandidate;
+    }
+
+    public String getVideoStreamType() {
+        return this.videoStreamType;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof SessionDescriptionSendEvent)) {
+            return false;
+        }
+        final SessionDescriptionSendEvent other = (SessionDescriptionSendEvent) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$sessionDescription = this.getSessionDescription();
+        final Object other$sessionDescription = other.getSessionDescription();
+        if (this$sessionDescription == null ? other$sessionDescription != null : !this$sessionDescription.equals(other$sessionDescription)) {
+            return false;
+        }
+        final Object this$peerId = this.getPeerId();
+        final Object other$peerId = other.getPeerId();
+        if (this$peerId == null ? other$peerId != null : !this$peerId.equals(other$peerId)) {
+            return false;
+        }
+        final Object this$type = this.getType();
+        final Object other$type = other.getType();
+        if (this$type == null ? other$type != null : !this$type.equals(other$type)) {
+            return false;
+        }
+        final Object this$ncIceCandidate = this.getNcIceCandidate();
+        final Object other$ncIceCandidate = other.getNcIceCandidate();
+        if (this$ncIceCandidate == null ? other$ncIceCandidate != null : !this$ncIceCandidate.equals(other$ncIceCandidate)) {
+            return false;
+        }
+        final Object this$videoStreamType = this.getVideoStreamType();
+        final Object other$videoStreamType = other.getVideoStreamType();
+        if (this$videoStreamType == null ? other$videoStreamType != null : !this$videoStreamType.equals(other$videoStreamType)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof SessionDescriptionSendEvent;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $sessionDescription = this.getSessionDescription();
+        result = result * PRIME + ($sessionDescription == null ? 43 : $sessionDescription.hashCode());
+        final Object $peerId = this.getPeerId();
+        result = result * PRIME + ($peerId == null ? 43 : $peerId.hashCode());
+        final Object $type = this.getType();
+        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
+        final Object $ncIceCandidate = this.getNcIceCandidate();
+        result = result * PRIME + ($ncIceCandidate == null ? 43 : $ncIceCandidate.hashCode());
+        final Object $videoStreamType = this.getVideoStreamType();
+        result = result * PRIME + ($videoStreamType == null ? 43 : $videoStreamType.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "SessionDescriptionSendEvent(sessionDescription=" + this.getSessionDescription() + ", peerId=" + this.getPeerId() + ", type=" + this.getType() + ", ncIceCandidate=" + this.getNcIceCandidate() + ", videoStreamType=" + this.getVideoStreamType() + ")";
+    }
 }

+ 43 - 3
app/src/main/java/com/nextcloud/talk/events/UserMentionClickEvent.java

@@ -20,9 +20,49 @@
 
 package com.nextcloud.talk.events;
 
-import lombok.Data;
-
-@Data
 public class UserMentionClickEvent {
     public final String userId;
+
+    public UserMentionClickEvent(String userId) {
+        this.userId = userId;
+    }
+
+    public String getUserId() {
+        return this.userId;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof UserMentionClickEvent)) {
+            return false;
+        }
+        final UserMentionClickEvent other = (UserMentionClickEvent) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$userId = this.getUserId();
+        final Object other$userId = other.getUserId();
+        if (this$userId == null ? other$userId != null : !this$userId.equals(other$userId)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof UserMentionClickEvent;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $userId = this.getUserId();
+        result = result * PRIME + ($userId == null ? 43 : $userId.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "UserMentionClickEvent(userId=" + this.getUserId() + ")";
+    }
 }

+ 58 - 4
app/src/main/java/com/nextcloud/talk/events/WebSocketCommunicationEvent.java

@@ -20,14 +20,68 @@
 
 package com.nextcloud.talk.events;
 
-import androidx.annotation.Nullable;
-import lombok.Data;
-
 import java.util.HashMap;
 
-@Data
+import androidx.annotation.Nullable;
+
 public class WebSocketCommunicationEvent {
     public final String type;
     @Nullable
     public final HashMap<String, String> hashMap;
+
+    public WebSocketCommunicationEvent(String type, HashMap<String, String> hashMap) {
+        this.type = type;
+        this.hashMap = hashMap;
+    }
+
+    public String getType() {
+        return this.type;
+    }
+
+    @Nullable
+    public HashMap<String, String> getHashMap() {
+        return this.hashMap;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof WebSocketCommunicationEvent)) {
+            return false;
+        }
+        final WebSocketCommunicationEvent other = (WebSocketCommunicationEvent) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$type = this.getType();
+        final Object other$type = other.getType();
+        if (this$type == null ? other$type != null : !this$type.equals(other$type)) {
+            return false;
+        }
+        final Object this$hashMap = this.getHashMap();
+        final Object other$hashMap = other.getHashMap();
+        if (this$hashMap == null ? other$hashMap != null : !this$hashMap.equals(other$hashMap)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof WebSocketCommunicationEvent;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $type = this.getType();
+        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
+        final Object $hashMap = this.getHashMap();
+        result = result * PRIME + ($hashMap == null ? 43 : $hashMap.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "WebSocketCommunicationEvent(type=" + this.getType() + ", hashMap=" + this.getHashMap() + ")";
+    }
 }

+ 62 - 2
app/src/main/java/com/nextcloud/talk/models/ExternalSignalingServer.java

@@ -22,10 +22,9 @@ package com.nextcloud.talk.models;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 @JsonObject
 public class ExternalSignalingServer {
@@ -33,4 +32,65 @@ public class ExternalSignalingServer {
     String externalSignalingServer;
     @JsonField(name = "externalSignalingTicket")
     String externalSignalingTicket;
+
+    public ExternalSignalingServer() {
+    }
+
+    public String getExternalSignalingServer() {
+        return this.externalSignalingServer;
+    }
+
+    public String getExternalSignalingTicket() {
+        return this.externalSignalingTicket;
+    }
+
+    public void setExternalSignalingServer(String externalSignalingServer) {
+        this.externalSignalingServer = externalSignalingServer;
+    }
+
+    public void setExternalSignalingTicket(String externalSignalingTicket) {
+        this.externalSignalingTicket = externalSignalingTicket;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ExternalSignalingServer)) {
+            return false;
+        }
+        final ExternalSignalingServer other = (ExternalSignalingServer) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$externalSignalingServer = this.getExternalSignalingServer();
+        final Object other$externalSignalingServer = other.getExternalSignalingServer();
+        if (this$externalSignalingServer == null ? other$externalSignalingServer != null : !this$externalSignalingServer.equals(other$externalSignalingServer)) {
+            return false;
+        }
+        final Object this$externalSignalingTicket = this.getExternalSignalingTicket();
+        final Object other$externalSignalingTicket = other.getExternalSignalingTicket();
+        if (this$externalSignalingTicket == null ? other$externalSignalingTicket != null : !this$externalSignalingTicket.equals(other$externalSignalingTicket)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ExternalSignalingServer;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $externalSignalingServer = this.getExternalSignalingServer();
+        result = result * PRIME + ($externalSignalingServer == null ? 43 : $externalSignalingServer.hashCode());
+        final Object $externalSignalingTicket = this.getExternalSignalingTicket();
+        result = result * PRIME + ($externalSignalingTicket == null ? 43 : $externalSignalingTicket.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ExternalSignalingServer(externalSignalingServer=" + this.getExternalSignalingServer() + ", externalSignalingTicket=" + this.getExternalSignalingTicket() + ")";
+    }
 }

+ 74 - 2
app/src/main/java/com/nextcloud/talk/models/ImportAccount.java

@@ -21,9 +21,7 @@
 package com.nextcloud.talk.models;
 
 import androidx.annotation.Nullable;
-import lombok.Data;
 
-@Data
 public class ImportAccount {
     public String username;
     @Nullable
@@ -35,4 +33,78 @@ public class ImportAccount {
         this.token = token;
         this.baseUrl = baseUrl;
     }
+
+    public String getUsername() {
+        return this.username;
+    }
+
+    @Nullable
+    public String getToken() {
+        return this.token;
+    }
+
+    public String getBaseUrl() {
+        return this.baseUrl;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public void setToken(@Nullable String token) {
+        this.token = token;
+    }
+
+    public void setBaseUrl(String baseUrl) {
+        this.baseUrl = baseUrl;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ImportAccount)) {
+            return false;
+        }
+        final ImportAccount other = (ImportAccount) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$username = this.getUsername();
+        final Object other$username = other.getUsername();
+        if (this$username == null ? other$username != null : !this$username.equals(other$username)) {
+            return false;
+        }
+        final Object this$token = this.getToken();
+        final Object other$token = other.getToken();
+        if (this$token == null ? other$token != null : !this$token.equals(other$token)) {
+            return false;
+        }
+        final Object this$baseUrl = this.getBaseUrl();
+        final Object other$baseUrl = other.getBaseUrl();
+        if (this$baseUrl == null ? other$baseUrl != null : !this$baseUrl.equals(other$baseUrl)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ImportAccount;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $username = this.getUsername();
+        result = result * PRIME + ($username == null ? 43 : $username.hashCode());
+        final Object $token = this.getToken();
+        result = result * PRIME + ($token == null ? 43 : $token.hashCode());
+        final Object $baseUrl = this.getBaseUrl();
+        result = result * PRIME + ($baseUrl == null ? 43 : $baseUrl.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ImportAccount(username=" + this.getUsername() + ", token=" + this.getToken() + ", baseUrl=" + this.getBaseUrl() + ")";
+    }
 }

+ 76 - 2
app/src/main/java/com/nextcloud/talk/models/LoginData.java

@@ -20,13 +20,87 @@
  */
 package com.nextcloud.talk.models;
 
-import lombok.Data;
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 public class LoginData {
     String serverUrl;
     String username;
     String token;
+
+    public LoginData() {
+    }
+
+    public String getServerUrl() {
+        return this.serverUrl;
+    }
+
+    public String getUsername() {
+        return this.username;
+    }
+
+    public String getToken() {
+        return this.token;
+    }
+
+    public void setServerUrl(String serverUrl) {
+        this.serverUrl = serverUrl;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public void setToken(String token) {
+        this.token = token;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof LoginData)) {
+            return false;
+        }
+        final LoginData other = (LoginData) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$serverUrl = this.getServerUrl();
+        final Object other$serverUrl = other.getServerUrl();
+        if (this$serverUrl == null ? other$serverUrl != null : !this$serverUrl.equals(other$serverUrl)) {
+            return false;
+        }
+        final Object this$username = this.getUsername();
+        final Object other$username = other.getUsername();
+        if (this$username == null ? other$username != null : !this$username.equals(other$username)) {
+            return false;
+        }
+        final Object this$token = this.getToken();
+        final Object other$token = other.getToken();
+        if (this$token == null ? other$token != null : !this$token.equals(other$token)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof LoginData;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $serverUrl = this.getServerUrl();
+        result = result * PRIME + ($serverUrl == null ? 43 : $serverUrl.hashCode());
+        final Object $username = this.getUsername();
+        result = result * PRIME + ($username == null ? 43 : $username.hashCode());
+        final Object $token = this.getToken();
+        result = result * PRIME + ($token == null ? 43 : $token.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "LoginData(serverUrl=" + this.getServerUrl() + ", username=" + this.getUsername() + ", token=" + this.getToken() + ")";
+    }
 }

+ 61 - 2
app/src/main/java/com/nextcloud/talk/models/RetrofitBucket.java

@@ -19,14 +19,73 @@
  */
 package com.nextcloud.talk.models;
 
-import lombok.Data;
 import org.parceler.Parcel;
 
 import java.util.Map;
 
 @Parcel
-@Data
 public class RetrofitBucket {
     public String url;
     public Map<String, String> queryMap;
+
+    public RetrofitBucket() {
+    }
+
+    public String getUrl() {
+        return this.url;
+    }
+
+    public Map<String, String> getQueryMap() {
+        return this.queryMap;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public void setQueryMap(Map<String, String> queryMap) {
+        this.queryMap = queryMap;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof RetrofitBucket)) {
+            return false;
+        }
+        final RetrofitBucket other = (RetrofitBucket) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$url = this.getUrl();
+        final Object other$url = other.getUrl();
+        if (this$url == null ? other$url != null : !this$url.equals(other$url)) {
+            return false;
+        }
+        final Object this$queryMap = this.getQueryMap();
+        final Object other$queryMap = other.getQueryMap();
+        if (this$queryMap == null ? other$queryMap != null : !this$queryMap.equals(other$queryMap)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof RetrofitBucket;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $url = this.getUrl();
+        result = result * PRIME + ($url == null ? 43 : $url.hashCode());
+        final Object $queryMap = this.getQueryMap();
+        result = result * PRIME + ($queryMap == null ? 43 : $queryMap.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "RetrofitBucket(url=" + this.getUrl() + ", queryMap=" + this.getQueryMap() + ")";
+    }
 }

+ 66 - 3
app/src/main/java/com/nextcloud/talk/models/RingtoneSettings.java

@@ -21,20 +21,83 @@
 package com.nextcloud.talk.models;
 
 import android.net.Uri;
-import androidx.annotation.Nullable;
+
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.converters.UriTypeConverter;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
+import androidx.annotation.Nullable;
+
 @Parcel
 @JsonObject
-@Data
 public class RingtoneSettings {
     @JsonField(name = "ringtoneUri", typeConverter = UriTypeConverter.class)
     @Nullable
    public Uri ringtoneUri;
     @JsonField(name = "ringtoneName")
     public String ringtoneName;
+
+    public RingtoneSettings() {
+    }
+
+    @Nullable
+    public Uri getRingtoneUri() {
+        return this.ringtoneUri;
+    }
+
+    public String getRingtoneName() {
+        return this.ringtoneName;
+    }
+
+    public void setRingtoneUri(@Nullable Uri ringtoneUri) {
+        this.ringtoneUri = ringtoneUri;
+    }
+
+    public void setRingtoneName(String ringtoneName) {
+        this.ringtoneName = ringtoneName;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof RingtoneSettings)) {
+            return false;
+        }
+        final RingtoneSettings other = (RingtoneSettings) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ringtoneUri = this.getRingtoneUri();
+        final Object other$ringtoneUri = other.getRingtoneUri();
+        if (this$ringtoneUri == null ? other$ringtoneUri != null : !this$ringtoneUri.equals(other$ringtoneUri)) {
+            return false;
+        }
+        final Object this$ringtoneName = this.getRingtoneName();
+        final Object other$ringtoneName = other.getRingtoneName();
+        if (this$ringtoneName == null ? other$ringtoneName != null : !this$ringtoneName.equals(other$ringtoneName)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof RingtoneSettings;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ringtoneUri = this.getRingtoneUri();
+        result = result * PRIME + ($ringtoneUri == null ? 43 : $ringtoneUri.hashCode());
+        final Object $ringtoneName = this.getRingtoneName();
+        result = result * PRIME + ($ringtoneName == null ? 43 : $ringtoneName.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "RingtoneSettings(ringtoneUri=" + this.getRingtoneUri() + ", ringtoneName=" + this.getRingtoneName() + ")";
+    }
 }

+ 59 - 2
app/src/main/java/com/nextcloud/talk/models/SignatureVerification.java

@@ -22,12 +22,69 @@ package com.nextcloud.talk.models;
 
 
 import com.nextcloud.talk.models.database.UserEntity;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 public class SignatureVerification {
     public boolean signatureValid;
     public UserEntity userEntity;
+
+    public SignatureVerification() {
+    }
+
+    public boolean isSignatureValid() {
+        return this.signatureValid;
+    }
+
+    public UserEntity getUserEntity() {
+        return this.userEntity;
+    }
+
+    public void setSignatureValid(boolean signatureValid) {
+        this.signatureValid = signatureValid;
+    }
+
+    public void setUserEntity(UserEntity userEntity) {
+        this.userEntity = userEntity;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof SignatureVerification)) {
+            return false;
+        }
+        final SignatureVerification other = (SignatureVerification) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        if (this.isSignatureValid() != other.isSignatureValid()) {
+            return false;
+        }
+        final Object this$userEntity = this.getUserEntity();
+        final Object other$userEntity = other.getUserEntity();
+        if (this$userEntity == null ? other$userEntity != null : !this$userEntity.equals(other$userEntity)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof SignatureVerification;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        result = result * PRIME + (this.isSignatureValid() ? 79 : 97);
+        final Object $userEntity = this.getUserEntity();
+        result = result * PRIME + ($userEntity == null ? 43 : $userEntity.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "SignatureVerification(signatureValid=" + this.isSignatureValid() + ", userEntity=" + this.getUserEntity() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteOCS.java

@@ -23,15 +23,60 @@ package com.nextcloud.talk.models.json.autocomplete;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.generic.GenericOCS;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 import java.util.List;
 
 @Parcel
-@Data
 @JsonObject
 public class AutocompleteOCS extends GenericOCS {
     @JsonField(name = "data")
     List<AutocompleteUser> data;
+
+    public AutocompleteOCS() {
+    }
+
+    public List<AutocompleteUser> getData() {
+        return this.data;
+    }
+
+    public void setData(List<AutocompleteUser> data) {
+        this.data = data;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof AutocompleteOCS)) {
+            return false;
+        }
+        final AutocompleteOCS other = (AutocompleteOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$data = this.getData();
+        final Object other$data = other.getData();
+        if (this$data == null ? other$data != null : !this$data.equals(other$data)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof AutocompleteOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $data = this.getData();
+        result = result * PRIME + ($data == null ? 43 : $data.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "AutocompleteOCS(data=" + this.getData() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteOverall.java

@@ -22,13 +22,58 @@ package com.nextcloud.talk.models.json.autocomplete;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject
 public class AutocompleteOverall {
     @JsonField(name = "ocs")
     AutocompleteOCS ocs;
+
+    public AutocompleteOverall() {
+    }
+
+    public AutocompleteOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(AutocompleteOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof AutocompleteOverall)) {
+            return false;
+        }
+        final AutocompleteOverall other = (AutocompleteOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof AutocompleteOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "AutocompleteOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 77 - 2
app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteUser.java

@@ -22,11 +22,10 @@ package com.nextcloud.talk.models.json.autocomplete;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject
 public class AutocompleteUser {
     @JsonField(name = "id")
@@ -37,4 +36,80 @@ public class AutocompleteUser {
 
     @JsonField(name = "source")
     String source;
+
+    public AutocompleteUser() {
+    }
+
+    public String getId() {
+        return this.id;
+    }
+
+    public String getLabel() {
+        return this.label;
+    }
+
+    public String getSource() {
+        return this.source;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public void setSource(String source) {
+        this.source = source;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof AutocompleteUser)) {
+            return false;
+        }
+        final AutocompleteUser other = (AutocompleteUser) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$id = this.getId();
+        final Object other$id = other.getId();
+        if (this$id == null ? other$id != null : !this$id.equals(other$id)) {
+            return false;
+        }
+        final Object this$label = this.getLabel();
+        final Object other$label = other.getLabel();
+        if (this$label == null ? other$label != null : !this$label.equals(other$label)) {
+            return false;
+        }
+        final Object this$source = this.getSource();
+        final Object other$source = other.getSource();
+        if (this$source == null ? other$source != null : !this$source.equals(other$source)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof AutocompleteUser;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $id = this.getId();
+        result = result * PRIME + ($id == null ? 43 : $id.hashCode());
+        final Object $label = this.getLabel();
+        result = result * PRIME + ($label == null ? 43 : $label.hashCode());
+        final Object $source = this.getSource();
+        result = result * PRIME + ($source == null ? 43 : $source.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "AutocompleteUser(id=" + this.getId() + ", label=" + this.getLabel() + ", source=" + this.getSource() + ")";
+    }
 }

+ 106 - 3
app/src/main/java/com/nextcloud/talk/models/json/capabilities/Capabilities.java

@@ -28,10 +28,7 @@ import org.parceler.Parcel;
 import java.util.HashMap;
 import java.util.List;
 
-import lombok.Data;
-
 @Parcel
-@Data
 @JsonObject
 public class Capabilities {
     @JsonField(name = "spreed")
@@ -48,4 +45,110 @@ public class Capabilities {
 
     @JsonField(name = "provisioning_api")
     ProvisioningCapability provisioningCapability;
+
+    public Capabilities() {
+    }
+
+    public SpreedCapability getSpreedCapability() {
+        return this.spreedCapability;
+    }
+
+    public NotificationsCapability getNotificationsCapability() {
+        return this.notificationsCapability;
+    }
+
+    public ThemingCapability getThemingCapability() {
+        return this.themingCapability;
+    }
+
+    public HashMap<String, List<String>> getExternalCapability() {
+        return this.externalCapability;
+    }
+
+    public ProvisioningCapability getProvisioningCapability() {
+        return this.provisioningCapability;
+    }
+
+    public void setSpreedCapability(SpreedCapability spreedCapability) {
+        this.spreedCapability = spreedCapability;
+    }
+
+    public void setNotificationsCapability(NotificationsCapability notificationsCapability) {
+        this.notificationsCapability = notificationsCapability;
+    }
+
+    public void setThemingCapability(ThemingCapability themingCapability) {
+        this.themingCapability = themingCapability;
+    }
+
+    public void setExternalCapability(HashMap<String, List<String>> externalCapability) {
+        this.externalCapability = externalCapability;
+    }
+
+    public void setProvisioningCapability(ProvisioningCapability provisioningCapability) {
+        this.provisioningCapability = provisioningCapability;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof Capabilities)) {
+            return false;
+        }
+        final Capabilities other = (Capabilities) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$spreedCapability = this.getSpreedCapability();
+        final Object other$spreedCapability = other.getSpreedCapability();
+        if (this$spreedCapability == null ? other$spreedCapability != null : !this$spreedCapability.equals(other$spreedCapability)) {
+            return false;
+        }
+        final Object this$notificationsCapability = this.getNotificationsCapability();
+        final Object other$notificationsCapability = other.getNotificationsCapability();
+        if (this$notificationsCapability == null ? other$notificationsCapability != null : !this$notificationsCapability.equals(other$notificationsCapability)) {
+            return false;
+        }
+        final Object this$themingCapability = this.getThemingCapability();
+        final Object other$themingCapability = other.getThemingCapability();
+        if (this$themingCapability == null ? other$themingCapability != null : !this$themingCapability.equals(other$themingCapability)) {
+            return false;
+        }
+        final Object this$externalCapability = this.getExternalCapability();
+        final Object other$externalCapability = other.getExternalCapability();
+        if (this$externalCapability == null ? other$externalCapability != null : !this$externalCapability.equals(other$externalCapability)) {
+            return false;
+        }
+        final Object this$provisioningCapability = this.getProvisioningCapability();
+        final Object other$provisioningCapability = other.getProvisioningCapability();
+        if (this$provisioningCapability == null ? other$provisioningCapability != null : !this$provisioningCapability.equals(other$provisioningCapability)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof Capabilities;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $spreedCapability = this.getSpreedCapability();
+        result = result * PRIME + ($spreedCapability == null ? 43 : $spreedCapability.hashCode());
+        final Object $notificationsCapability = this.getNotificationsCapability();
+        result = result * PRIME + ($notificationsCapability == null ? 43 : $notificationsCapability.hashCode());
+        final Object $themingCapability = this.getThemingCapability();
+        result = result * PRIME + ($themingCapability == null ? 43 : $themingCapability.hashCode());
+        final Object $externalCapability = this.getExternalCapability();
+        result = result * PRIME + ($externalCapability == null ? 43 : $externalCapability.hashCode());
+        final Object $provisioningCapability = this.getProvisioningCapability();
+        result = result * PRIME + ($provisioningCapability == null ? 43 : $provisioningCapability.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "Capabilities(spreedCapability=" + this.getSpreedCapability() + ", notificationsCapability=" + this.getNotificationsCapability() + ", themingCapability=" + this.getThemingCapability() + ", externalCapability=" + this.getExternalCapability() + ", provisioningCapability=" + this.getProvisioningCapability() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesList.java

@@ -22,13 +22,58 @@ package com.nextcloud.talk.models.json.capabilities;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject
 public class CapabilitiesList {
     @JsonField(name = "capabilities")
     Capabilities capabilities;
+
+    public CapabilitiesList() {
+    }
+
+    public Capabilities getCapabilities() {
+        return this.capabilities;
+    }
+
+    public void setCapabilities(Capabilities capabilities) {
+        this.capabilities = capabilities;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof CapabilitiesList)) {
+            return false;
+        }
+        final CapabilitiesList other = (CapabilitiesList) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$capabilities = this.getCapabilities();
+        final Object other$capabilities = other.getCapabilities();
+        if (this$capabilities == null ? other$capabilities != null : !this$capabilities.equals(other$capabilities)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof CapabilitiesList;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $capabilities = this.getCapabilities();
+        result = result * PRIME + ($capabilities == null ? 43 : $capabilities.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "CapabilitiesList(capabilities=" + this.getCapabilities() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesOCS.java

@@ -22,13 +22,58 @@ package com.nextcloud.talk.models.json.capabilities;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.generic.GenericOCS;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 @JsonObject
 public class CapabilitiesOCS extends GenericOCS {
     @JsonField(name = "data")
     CapabilitiesList data;
+
+    public CapabilitiesOCS() {
+    }
+
+    public CapabilitiesList getData() {
+        return this.data;
+    }
+
+    public void setData(CapabilitiesList data) {
+        this.data = data;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof CapabilitiesOCS)) {
+            return false;
+        }
+        final CapabilitiesOCS other = (CapabilitiesOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$data = this.getData();
+        final Object other$data = other.getData();
+        if (this$data == null ? other$data != null : !this$data.equals(other$data)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof CapabilitiesOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $data = this.getData();
+        result = result * PRIME + ($data == null ? 43 : $data.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "CapabilitiesOCS(data=" + this.getData() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesOverall.java

@@ -21,13 +21,58 @@ package com.nextcloud.talk.models.json.capabilities;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 @JsonObject
 public class CapabilitiesOverall {
     @JsonField(name = "ocs")
     CapabilitiesOCS ocs;
+
+    public CapabilitiesOverall() {
+    }
+
+    public CapabilitiesOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(CapabilitiesOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof CapabilitiesOverall)) {
+            return false;
+        }
+        final CapabilitiesOverall other = (CapabilitiesOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof CapabilitiesOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "CapabilitiesOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/capabilities/NotificationsCapability.java

@@ -22,15 +22,60 @@ package com.nextcloud.talk.models.json.capabilities;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 import java.util.List;
 
 @Parcel
-@Data
 @JsonObject
 public class NotificationsCapability {
     @JsonField(name = "ocs-endpoints")
     List<String> features;
+
+    public NotificationsCapability() {
+    }
+
+    public List<String> getFeatures() {
+        return this.features;
+    }
+
+    public void setFeatures(List<String> features) {
+        this.features = features;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof NotificationsCapability)) {
+            return false;
+        }
+        final NotificationsCapability other = (NotificationsCapability) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$features = this.getFeatures();
+        final Object other$features = other.getFeatures();
+        if (this$features == null ? other$features != null : !this$features.equals(other$features)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof NotificationsCapability;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $features = this.getFeatures();
+        result = result * PRIME + ($features == null ? 43 : $features.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "NotificationsCapability(features=" + this.getFeatures() + ")";
+    }
 }

+ 46 - 3
app/src/main/java/com/nextcloud/talk/models/json/capabilities/ProvisioningCapability.java

@@ -25,12 +25,55 @@ import com.bluelinelabs.logansquare.annotation.JsonObject;
 
 import org.parceler.Parcel;
 
-import lombok.Data;
-
 @Parcel
-@Data
 @JsonObject
 public class ProvisioningCapability {
     @JsonField(name = "AccountPropertyScopesVersion")
     Integer accountPropertyScopesVersion;
+
+    public ProvisioningCapability() {
+    }
+
+    public Integer getAccountPropertyScopesVersion() {
+        return this.accountPropertyScopesVersion;
+    }
+
+    public void setAccountPropertyScopesVersion(Integer accountPropertyScopesVersion) {
+        this.accountPropertyScopesVersion = accountPropertyScopesVersion;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ProvisioningCapability)) {
+            return false;
+        }
+        final ProvisioningCapability other = (ProvisioningCapability) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$accountPropertyScopesVersion = this.getAccountPropertyScopesVersion();
+        final Object other$accountPropertyScopesVersion = other.getAccountPropertyScopesVersion();
+        if (this$accountPropertyScopesVersion == null ? other$accountPropertyScopesVersion != null : !this$accountPropertyScopesVersion.equals(other$accountPropertyScopesVersion)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ProvisioningCapability;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $accountPropertyScopesVersion = this.getAccountPropertyScopesVersion();
+        result = result * PRIME + ($accountPropertyScopesVersion == null ? 43 : $accountPropertyScopesVersion.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ProvisioningCapability(accountPropertyScopesVersion=" + this.getAccountPropertyScopesVersion() + ")";
+    }
 }

+ 62 - 2
app/src/main/java/com/nextcloud/talk/models/json/capabilities/SpreedCapability.java

@@ -22,14 +22,13 @@ package com.nextcloud.talk.models.json.capabilities;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 import java.util.HashMap;
 import java.util.List;
 
 @Parcel
-@Data
 @JsonObject
 public class SpreedCapability {
     @JsonField(name = "features")
@@ -37,4 +36,65 @@ public class SpreedCapability {
 
     @JsonField(name = "config")
     HashMap<String, HashMap<String, String>> config;
+
+    public SpreedCapability() {
+    }
+
+    public List<String> getFeatures() {
+        return this.features;
+    }
+
+    public HashMap<String, HashMap<String, String>> getConfig() {
+        return this.config;
+    }
+
+    public void setFeatures(List<String> features) {
+        this.features = features;
+    }
+
+    public void setConfig(HashMap<String, HashMap<String, String>> config) {
+        this.config = config;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof SpreedCapability)) {
+            return false;
+        }
+        final SpreedCapability other = (SpreedCapability) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$features = this.getFeatures();
+        final Object other$features = other.getFeatures();
+        if (this$features == null ? other$features != null : !this$features.equals(other$features)) {
+            return false;
+        }
+        final Object this$config = this.getConfig();
+        final Object other$config = other.getConfig();
+        if (this$config == null ? other$config != null : !this$config.equals(other$config)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof SpreedCapability;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $features = this.getFeatures();
+        result = result * PRIME + ($features == null ? 43 : $features.hashCode());
+        final Object $config = this.getConfig();
+        result = result * PRIME + ($config == null ? 43 : $config.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "SpreedCapability(features=" + this.getFeatures() + ", config=" + this.getConfig() + ")";
+    }
 }

+ 176 - 2
app/src/main/java/com/nextcloud/talk/models/json/capabilities/ThemingCapability.java

@@ -22,11 +22,10 @@ package com.nextcloud.talk.models.json.capabilities;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject
 public class ThemingCapability {
     @JsonField(name = "name")
@@ -58,4 +57,179 @@ public class ThemingCapability {
 
     @JsonField(name = "background-default")
     boolean backgroundDefault;
+
+    public ThemingCapability() {
+    }
+
+    public String getName() {
+        return this.name;
+    }
+
+    public String getUrl() {
+        return this.url;
+    }
+
+    public String getSlogan() {
+        return this.slogan;
+    }
+
+    public String getColor() {
+        return this.color;
+    }
+
+    public String getColorText() {
+        return this.colorText;
+    }
+
+    public String getColorElement() {
+        return this.colorElement;
+    }
+
+    public String getLogo() {
+        return this.logo;
+    }
+
+    public String getBackground() {
+        return this.background;
+    }
+
+    public boolean isBackgroundPlain() {
+        return this.backgroundPlain;
+    }
+
+    public boolean isBackgroundDefault() {
+        return this.backgroundDefault;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public void setSlogan(String slogan) {
+        this.slogan = slogan;
+    }
+
+    public void setColor(String color) {
+        this.color = color;
+    }
+
+    public void setColorText(String colorText) {
+        this.colorText = colorText;
+    }
+
+    public void setColorElement(String colorElement) {
+        this.colorElement = colorElement;
+    }
+
+    public void setLogo(String logo) {
+        this.logo = logo;
+    }
+
+    public void setBackground(String background) {
+        this.background = background;
+    }
+
+    public void setBackgroundPlain(boolean backgroundPlain) {
+        this.backgroundPlain = backgroundPlain;
+    }
+
+    public void setBackgroundDefault(boolean backgroundDefault) {
+        this.backgroundDefault = backgroundDefault;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ThemingCapability)) {
+            return false;
+        }
+        final ThemingCapability other = (ThemingCapability) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$name = this.getName();
+        final Object other$name = other.getName();
+        if (this$name == null ? other$name != null : !this$name.equals(other$name)) {
+            return false;
+        }
+        final Object this$url = this.getUrl();
+        final Object other$url = other.getUrl();
+        if (this$url == null ? other$url != null : !this$url.equals(other$url)) {
+            return false;
+        }
+        final Object this$slogan = this.getSlogan();
+        final Object other$slogan = other.getSlogan();
+        if (this$slogan == null ? other$slogan != null : !this$slogan.equals(other$slogan)) {
+            return false;
+        }
+        final Object this$color = this.getColor();
+        final Object other$color = other.getColor();
+        if (this$color == null ? other$color != null : !this$color.equals(other$color)) {
+            return false;
+        }
+        final Object this$colorText = this.getColorText();
+        final Object other$colorText = other.getColorText();
+        if (this$colorText == null ? other$colorText != null : !this$colorText.equals(other$colorText)) {
+            return false;
+        }
+        final Object this$colorElement = this.getColorElement();
+        final Object other$colorElement = other.getColorElement();
+        if (this$colorElement == null ? other$colorElement != null : !this$colorElement.equals(other$colorElement)) {
+            return false;
+        }
+        final Object this$logo = this.getLogo();
+        final Object other$logo = other.getLogo();
+        if (this$logo == null ? other$logo != null : !this$logo.equals(other$logo)) {
+            return false;
+        }
+        final Object this$background = this.getBackground();
+        final Object other$background = other.getBackground();
+        if (this$background == null ? other$background != null : !this$background.equals(other$background)) {
+            return false;
+        }
+        if (this.isBackgroundPlain() != other.isBackgroundPlain()) {
+            return false;
+        }
+        if (this.isBackgroundDefault() != other.isBackgroundDefault()) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ThemingCapability;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $name = this.getName();
+        result = result * PRIME + ($name == null ? 43 : $name.hashCode());
+        final Object $url = this.getUrl();
+        result = result * PRIME + ($url == null ? 43 : $url.hashCode());
+        final Object $slogan = this.getSlogan();
+        result = result * PRIME + ($slogan == null ? 43 : $slogan.hashCode());
+        final Object $color = this.getColor();
+        result = result * PRIME + ($color == null ? 43 : $color.hashCode());
+        final Object $colorText = this.getColorText();
+        result = result * PRIME + ($colorText == null ? 43 : $colorText.hashCode());
+        final Object $colorElement = this.getColorElement();
+        result = result * PRIME + ($colorElement == null ? 43 : $colorElement.hashCode());
+        final Object $logo = this.getLogo();
+        result = result * PRIME + ($logo == null ? 43 : $logo.hashCode());
+        final Object $background = this.getBackground();
+        result = result * PRIME + ($background == null ? 43 : $background.hashCode());
+        result = result * PRIME + (this.isBackgroundPlain() ? 79 : 97);
+        result = result * PRIME + (this.isBackgroundDefault() ? 79 : 97);
+        return result;
+    }
+
+    public String toString() {
+        return "ThemingCapability(name=" + this.getName() + ", url=" + this.getUrl() + ", slogan=" + this.getSlogan() + ", color=" + this.getColor() + ", colorText=" + this.getColorText() + ", colorElement=" + this.getColorElement() + ", logo=" + this.getLogo() + ", background=" + this.getBackground() + ", backgroundPlain=" + this.isBackgroundPlain() + ", backgroundDefault=" + this.isBackgroundDefault() + ")";
+    }
 }

+ 289 - 4
app/src/main/java/com/nextcloud/talk/models/json/chat/ChatMessage.java

@@ -21,8 +21,6 @@ package com.nextcloud.talk.models.json.chat;
 
 import android.text.TextUtils;
 
-import androidx.annotation.Nullable;
-
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonIgnore;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
@@ -44,10 +42,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import lombok.Data;
+import androidx.annotation.Nullable;
 
 @Parcel
-@Data
 @JsonObject
 public class ChatMessage implements IMessage, MessageContentType, MessageContentType.Image {
     @JsonIgnore
@@ -94,6 +91,9 @@ public class ChatMessage implements IMessage, MessageContentType, MessageContent
             MessageType.SYSTEM_MESSAGE, MessageType.SINGLE_LINK_VIDEO_MESSAGE,
             MessageType.SINGLE_LINK_AUDIO_MESSAGE, MessageType.SINGLE_LINK_MESSAGE);
 
+    public ChatMessage() {
+    }
+
     private boolean hasFileAttachment() {
         if (messageParameters != null && messageParameters.size() > 0) {
             for (String key : messageParameters.keySet()) {
@@ -254,6 +254,291 @@ public class ChatMessage implements IMessage, MessageContentType, MessageContent
         return new EnumSystemMessageTypeConverter().convertToString(getSystemMessageType());
     }
 
+    public boolean isGrouped() {
+        return this.isGrouped;
+    }
+
+    public boolean isOneToOneConversation() {
+        return this.isOneToOneConversation;
+    }
+
+    public UserEntity getActiveUser() {
+        return this.activeUser;
+    }
+
+    public boolean isLinkPreviewAllowed() {
+        return this.isLinkPreviewAllowed;
+    }
+
+    public boolean isDeleted() {
+        return this.isDeleted;
+    }
+
+    public int getJsonMessageId() {
+        return this.jsonMessageId;
+    }
+
+    public String getToken() {
+        return this.token;
+    }
+
+    public String getActorType() {
+        return this.actorType;
+    }
+
+    public String getActorId() {
+        return this.actorId;
+    }
+
+    public String getActorDisplayName() {
+        return this.actorDisplayName;
+    }
+
+    public long getTimestamp() {
+        return this.timestamp;
+    }
+
+    public String getMessage() {
+        return this.message;
+    }
+
+    public HashMap<String, HashMap<String, String>> getMessageParameters() {
+        return this.messageParameters;
+    }
+
+    public SystemMessageType getSystemMessageType() {
+        return this.systemMessageType;
+    }
+
+    public boolean isReplyable() {
+        return this.replyable;
+    }
+
+    public ChatMessage getParentMessage() {
+        return this.parentMessage;
+    }
+
+    public Enum<ReadStatus> getReadStatus() {
+        return this.readStatus;
+    }
+
+    public List<MessageType> getMessageTypesToIgnore() {
+        return this.messageTypesToIgnore;
+    }
+
+    public void setGrouped(boolean isGrouped) {
+        this.isGrouped = isGrouped;
+    }
+
+    public void setOneToOneConversation(boolean isOneToOneConversation) {
+        this.isOneToOneConversation = isOneToOneConversation;
+    }
+
+    public void setActiveUser(UserEntity activeUser) {
+        this.activeUser = activeUser;
+    }
+
+    public void setLinkPreviewAllowed(boolean isLinkPreviewAllowed) {
+        this.isLinkPreviewAllowed = isLinkPreviewAllowed;
+    }
+
+    public void setDeleted(boolean isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+
+    public void setJsonMessageId(int jsonMessageId) {
+        this.jsonMessageId = jsonMessageId;
+    }
+
+    public void setToken(String token) {
+        this.token = token;
+    }
+
+    public void setActorType(String actorType) {
+        this.actorType = actorType;
+    }
+
+    public void setActorId(String actorId) {
+        this.actorId = actorId;
+    }
+
+    public void setActorDisplayName(String actorDisplayName) {
+        this.actorDisplayName = actorDisplayName;
+    }
+
+    public void setTimestamp(long timestamp) {
+        this.timestamp = timestamp;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+
+    public void setMessageParameters(HashMap<String, HashMap<String, String>> messageParameters) {
+        this.messageParameters = messageParameters;
+    }
+
+    public void setSystemMessageType(SystemMessageType systemMessageType) {
+        this.systemMessageType = systemMessageType;
+    }
+
+    public void setReplyable(boolean replyable) {
+        this.replyable = replyable;
+    }
+
+    public void setParentMessage(ChatMessage parentMessage) {
+        this.parentMessage = parentMessage;
+    }
+
+    public void setReadStatus(Enum<ReadStatus> readStatus) {
+        this.readStatus = readStatus;
+    }
+
+    public void setMessageTypesToIgnore(List<MessageType> messageTypesToIgnore) {
+        this.messageTypesToIgnore = messageTypesToIgnore;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ChatMessage)) {
+            return false;
+        }
+        final ChatMessage other = (ChatMessage) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        if (this.isGrouped() != other.isGrouped()) {
+            return false;
+        }
+        if (this.isOneToOneConversation() != other.isOneToOneConversation()) {
+            return false;
+        }
+        final Object this$activeUser = this.getActiveUser();
+        final Object other$activeUser = other.getActiveUser();
+        if (this$activeUser == null ? other$activeUser != null : !this$activeUser.equals(other$activeUser)) {
+            return false;
+        }
+        final Object this$selectedIndividualHashMap = this.getSelectedIndividualHashMap();
+        final Object other$selectedIndividualHashMap = other.getSelectedIndividualHashMap();
+        if (this$selectedIndividualHashMap == null ? other$selectedIndividualHashMap != null : !this$selectedIndividualHashMap.equals(other$selectedIndividualHashMap)) {
+            return false;
+        }
+        if (this.isLinkPreviewAllowed() != other.isLinkPreviewAllowed()) {
+            return false;
+        }
+        if (this.isDeleted() != other.isDeleted()) {
+            return false;
+        }
+        if (this.getJsonMessageId() != other.getJsonMessageId()) {
+            return false;
+        }
+        final Object this$token = this.getToken();
+        final Object other$token = other.getToken();
+        if (this$token == null ? other$token != null : !this$token.equals(other$token)) {
+            return false;
+        }
+        final Object this$actorType = this.getActorType();
+        final Object other$actorType = other.getActorType();
+        if (this$actorType == null ? other$actorType != null : !this$actorType.equals(other$actorType)) {
+            return false;
+        }
+        final Object this$actorId = this.getActorId();
+        final Object other$actorId = other.getActorId();
+        if (this$actorId == null ? other$actorId != null : !this$actorId.equals(other$actorId)) {
+            return false;
+        }
+        final Object this$actorDisplayName = this.getActorDisplayName();
+        final Object other$actorDisplayName = other.getActorDisplayName();
+        if (this$actorDisplayName == null ? other$actorDisplayName != null : !this$actorDisplayName.equals(other$actorDisplayName)) {
+            return false;
+        }
+        if (this.getTimestamp() != other.getTimestamp()) {
+            return false;
+        }
+        final Object this$message = this.getMessage();
+        final Object other$message = other.getMessage();
+        if (this$message == null ? other$message != null : !this$message.equals(other$message)) {
+            return false;
+        }
+        final Object this$messageParameters = this.getMessageParameters();
+        final Object other$messageParameters = other.getMessageParameters();
+        if (this$messageParameters == null ? other$messageParameters != null : !this$messageParameters.equals(other$messageParameters)) {
+            return false;
+        }
+        final Object this$systemMessageType = this.getSystemMessageType();
+        final Object other$systemMessageType = other.getSystemMessageType();
+        if (this$systemMessageType == null ? other$systemMessageType != null : !this$systemMessageType.equals(other$systemMessageType)) {
+            return false;
+        }
+        if (this.isReplyable() != other.isReplyable()) {
+            return false;
+        }
+        final Object this$parentMessage = this.getParentMessage();
+        final Object other$parentMessage = other.getParentMessage();
+        if (this$parentMessage == null ? other$parentMessage != null : !this$parentMessage.equals(other$parentMessage)) {
+            return false;
+        }
+        final Object this$readStatus = this.getReadStatus();
+        final Object other$readStatus = other.getReadStatus();
+        if (this$readStatus == null ? other$readStatus != null : !this$readStatus.equals(other$readStatus)) {
+            return false;
+        }
+        final Object this$messageTypesToIgnore = this.getMessageTypesToIgnore();
+        final Object other$messageTypesToIgnore = other.getMessageTypesToIgnore();
+        if (this$messageTypesToIgnore == null ? other$messageTypesToIgnore != null : !this$messageTypesToIgnore.equals(other$messageTypesToIgnore)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ChatMessage;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        result = result * PRIME + (this.isGrouped() ? 79 : 97);
+        result = result * PRIME + (this.isOneToOneConversation() ? 79 : 97);
+        final Object $activeUser = this.getActiveUser();
+        result = result * PRIME + ($activeUser == null ? 43 : $activeUser.hashCode());
+        final Object $selectedIndividualHashMap = this.getSelectedIndividualHashMap();
+        result = result * PRIME + ($selectedIndividualHashMap == null ? 43 : $selectedIndividualHashMap.hashCode());
+        result = result * PRIME + (this.isLinkPreviewAllowed() ? 79 : 97);
+        result = result * PRIME + (this.isDeleted() ? 79 : 97);
+        result = result * PRIME + this.getJsonMessageId();
+        final Object $token = this.getToken();
+        result = result * PRIME + ($token == null ? 43 : $token.hashCode());
+        final Object $actorType = this.getActorType();
+        result = result * PRIME + ($actorType == null ? 43 : $actorType.hashCode());
+        final Object $actorId = this.getActorId();
+        result = result * PRIME + ($actorId == null ? 43 : $actorId.hashCode());
+        final Object $actorDisplayName = this.getActorDisplayName();
+        result = result * PRIME + ($actorDisplayName == null ? 43 : $actorDisplayName.hashCode());
+        final long $timestamp = this.getTimestamp();
+        result = result * PRIME + (int) ($timestamp >>> 32 ^ $timestamp);
+        final Object $message = this.getMessage();
+        result = result * PRIME + ($message == null ? 43 : $message.hashCode());
+        final Object $messageParameters = this.getMessageParameters();
+        result = result * PRIME + ($messageParameters == null ? 43 : $messageParameters.hashCode());
+        final Object $systemMessageType = this.getSystemMessageType();
+        result = result * PRIME + ($systemMessageType == null ? 43 : $systemMessageType.hashCode());
+        result = result * PRIME + (this.isReplyable() ? 79 : 97);
+        final Object $parentMessage = this.getParentMessage();
+        result = result * PRIME + ($parentMessage == null ? 43 : $parentMessage.hashCode());
+        final Object $readStatus = this.getReadStatus();
+        result = result * PRIME + ($readStatus == null ? 43 : $readStatus.hashCode());
+        final Object $messageTypesToIgnore = this.getMessageTypesToIgnore();
+        result = result * PRIME + ($messageTypesToIgnore == null ? 43 : $messageTypesToIgnore.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ChatMessage(isGrouped=" + this.isGrouped() + ", isOneToOneConversation=" + this.isOneToOneConversation() + ", activeUser=" + this.getActiveUser() + ", selectedIndividualHashMap=" + this.getSelectedIndividualHashMap() + ", isLinkPreviewAllowed=" + this.isLinkPreviewAllowed() + ", isDeleted=" + this.isDeleted() + ", jsonMessageId=" + this.getJsonMessageId() + ", token=" + this.getToken() + ", actorType=" + this.getActorType() + ", actorId=" + this.getActorId() + ", actorDisplayName=" + this.getActorDisplayName() + ", timestamp=" + this.getTimestamp() + ", message=" + this.getMessage() + ", messageParameters=" + this.getMessageParameters() + ", systemMessageType=" + this.getSystemMessageType() + ", replyable=" + this.isReplyable() + ", parentMessage=" + this.getParentMessage() + ", readStatus=" + this.getReadStatus() + ", messageTypesToIgnore=" + this.getMessageTypesToIgnore() + ")";
+    }
+
     public enum MessageType {
         REGULAR_TEXT_MESSAGE,
         SYSTEM_MESSAGE,

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOCS.java

@@ -22,15 +22,60 @@ package com.nextcloud.talk.models.json.chat;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.generic.GenericOCS;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 import java.util.List;
 
-@Data
 @Parcel
 @JsonObject
 public class ChatOCS extends GenericOCS {
     @JsonField(name = "data")
     public List<ChatMessage> data;
+
+    public ChatOCS() {
+    }
+
+    public List<ChatMessage> getData() {
+        return this.data;
+    }
+
+    public void setData(List<ChatMessage> data) {
+        this.data = data;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ChatOCS)) {
+            return false;
+        }
+        final ChatOCS other = (ChatOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$data = this.getData();
+        final Object other$data = other.getData();
+        if (this$data == null ? other$data != null : !this$data.equals(other$data)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ChatOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $data = this.getData();
+        result = result * PRIME + ($data == null ? 43 : $data.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ChatOCS(data=" + this.getData() + ")";
+    }
 }

+ 46 - 3
app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOCSSingleMessage.java

@@ -25,12 +25,55 @@ import com.nextcloud.talk.models.json.generic.GenericOCS;
 
 import org.parceler.Parcel;
 
-import lombok.Data;
-
-@Data
 @Parcel
 @JsonObject
 public class ChatOCSSingleMessage extends GenericOCS {
     @JsonField(name = "data")
     public ChatMessage data;
+
+    public ChatOCSSingleMessage() {
+    }
+
+    public ChatMessage getData() {
+        return this.data;
+    }
+
+    public void setData(ChatMessage data) {
+        this.data = data;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ChatOCSSingleMessage)) {
+            return false;
+        }
+        final ChatOCSSingleMessage other = (ChatOCSSingleMessage) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$data = this.getData();
+        final Object other$data = other.getData();
+        if (this$data == null ? other$data != null : !this$data.equals(other$data)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ChatOCSSingleMessage;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $data = this.getData();
+        result = result * PRIME + ($data == null ? 43 : $data.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ChatOCSSingleMessage(data=" + this.getData() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOverall.java

@@ -22,13 +22,58 @@ package com.nextcloud.talk.models.json.chat;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 @JsonObject
 public class ChatOverall {
     @JsonField(name = "ocs")
     public ChatOCS ocs;
+
+    public ChatOverall() {
+    }
+
+    public ChatOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(ChatOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ChatOverall)) {
+            return false;
+        }
+        final ChatOverall other = (ChatOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ChatOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ChatOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 46 - 3
app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOverallSingleMessage.java

@@ -25,12 +25,55 @@ import com.bluelinelabs.logansquare.annotation.JsonObject;
 
 import org.parceler.Parcel;
 
-import lombok.Data;
-
-@Data
 @Parcel
 @JsonObject
 public class ChatOverallSingleMessage {
     @JsonField(name = "ocs")
     public ChatOCSSingleMessage ocs;
+
+    public ChatOverallSingleMessage() {
+    }
+
+    public ChatOCSSingleMessage getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(ChatOCSSingleMessage ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ChatOverallSingleMessage)) {
+            return false;
+        }
+        final ChatOverallSingleMessage other = (ChatOverallSingleMessage) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ChatOverallSingleMessage;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ChatOverallSingleMessage(ocs=" + this.getOcs() + ")";
+    }
 }

+ 395 - 3
app/src/main/java/com/nextcloud/talk/models/json/conversations/Conversation.java

@@ -39,10 +39,7 @@ import org.parceler.Parcel;
 
 import java.util.HashMap;
 
-import lombok.Data;
-
 @Parcel
-@Data
 @JsonObject
 public class Conversation {
     @JsonField(name = "id")
@@ -97,6 +94,9 @@ public class Conversation {
     @JsonField(name = "callFlag")
     public int callFlag;
 
+    public Conversation() {
+    }
+
     public boolean isPublic() {
         return (ConversationType.ROOM_PUBLIC_CALL.equals(type));
     }
@@ -151,6 +151,398 @@ public class Conversation {
         return resources.getString(R.string.nc_delete_conversation_default);
     }
 
+    public String getRoomId() {
+        return this.roomId;
+    }
+
+    public String getToken() {
+        return this.token;
+    }
+
+    public String getName() {
+        return this.name;
+    }
+
+    public String getDisplayName() {
+        return this.displayName;
+    }
+
+    public ConversationType getType() {
+        return this.type;
+    }
+
+    public long getCount() {
+        return this.count;
+    }
+
+    public long getLastPing() {
+        return this.lastPing;
+    }
+
+    public long getNumberOfGuests() {
+        return this.numberOfGuests;
+    }
+
+    public HashMap<String, HashMap<String, Object>> getGuestList() {
+        return this.guestList;
+    }
+
+    public HashMap<String, HashMap<String, Object>> getParticipants() {
+        return this.participants;
+    }
+
+    public Participant.ParticipantType getParticipantType() {
+        return this.participantType;
+    }
+
+    public boolean isHasPassword() {
+        return this.hasPassword;
+    }
+
+    public String getSessionId() {
+        return this.sessionId;
+    }
+
+    public String getPassword() {
+        return this.password;
+    }
+
+    public boolean isFavorite() {
+        return this.isFavorite;
+    }
+
+    public long getLastActivity() {
+        return this.lastActivity;
+    }
+
+    public int getUnreadMessages() {
+        return this.unreadMessages;
+    }
+
+    public boolean isUnreadMention() {
+        return this.unreadMention;
+    }
+
+    public ChatMessage getLastMessage() {
+        return this.lastMessage;
+    }
+
+    public String getObjectType() {
+        return this.objectType;
+    }
+
+    public NotificationLevel getNotificationLevel() {
+        return this.notificationLevel;
+    }
+
+    public ConversationReadOnlyState getConversationReadOnlyState() {
+        return this.conversationReadOnlyState;
+    }
+
+    public LobbyState getLobbyState() {
+        return this.lobbyState;
+    }
+
+    public Long getLobbyTimer() {
+        return this.lobbyTimer;
+    }
+
+    public int getLastReadMessage() {
+        return this.lastReadMessage;
+    }
+
+    public int getCallFlag() {
+        return this.callFlag;
+    }
+
+    public void setRoomId(String roomId) {
+        this.roomId = roomId;
+    }
+
+    public void setToken(String token) {
+        this.token = token;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public void setDisplayName(String displayName) {
+        this.displayName = displayName;
+    }
+
+    public void setType(ConversationType type) {
+        this.type = type;
+    }
+
+    public void setCount(long count) {
+        this.count = count;
+    }
+
+    public void setLastPing(long lastPing) {
+        this.lastPing = lastPing;
+    }
+
+    public void setNumberOfGuests(long numberOfGuests) {
+        this.numberOfGuests = numberOfGuests;
+    }
+
+    public void setGuestList(HashMap<String, HashMap<String, Object>> guestList) {
+        this.guestList = guestList;
+    }
+
+    public void setParticipants(HashMap<String, HashMap<String, Object>> participants) {
+        this.participants = participants;
+    }
+
+    public void setParticipantType(Participant.ParticipantType participantType) {
+        this.participantType = participantType;
+    }
+
+    public void setHasPassword(boolean hasPassword) {
+        this.hasPassword = hasPassword;
+    }
+
+    public void setSessionId(String sessionId) {
+        this.sessionId = sessionId;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public void setFavorite(boolean isFavorite) {
+        this.isFavorite = isFavorite;
+    }
+
+    public void setLastActivity(long lastActivity) {
+        this.lastActivity = lastActivity;
+    }
+
+    public void setUnreadMessages(int unreadMessages) {
+        this.unreadMessages = unreadMessages;
+    }
+
+    public void setUnreadMention(boolean unreadMention) {
+        this.unreadMention = unreadMention;
+    }
+
+    public void setLastMessage(ChatMessage lastMessage) {
+        this.lastMessage = lastMessage;
+    }
+
+    public void setObjectType(String objectType) {
+        this.objectType = objectType;
+    }
+
+    public void setNotificationLevel(NotificationLevel notificationLevel) {
+        this.notificationLevel = notificationLevel;
+    }
+
+    public void setConversationReadOnlyState(ConversationReadOnlyState conversationReadOnlyState) {
+        this.conversationReadOnlyState = conversationReadOnlyState;
+    }
+
+    public void setLobbyState(LobbyState lobbyState) {
+        this.lobbyState = lobbyState;
+    }
+
+    public void setLobbyTimer(Long lobbyTimer) {
+        this.lobbyTimer = lobbyTimer;
+    }
+
+    public void setLastReadMessage(int lastReadMessage) {
+        this.lastReadMessage = lastReadMessage;
+    }
+
+    public void setCallFlag(int callFlag) {
+        this.callFlag = callFlag;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof Conversation)) {
+            return false;
+        }
+        final Conversation other = (Conversation) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$roomId = this.getRoomId();
+        final Object other$roomId = other.getRoomId();
+        if (this$roomId == null ? other$roomId != null : !this$roomId.equals(other$roomId)) {
+            return false;
+        }
+        final Object this$token = this.getToken();
+        final Object other$token = other.getToken();
+        if (this$token == null ? other$token != null : !this$token.equals(other$token)) {
+            return false;
+        }
+        final Object this$name = this.getName();
+        final Object other$name = other.getName();
+        if (this$name == null ? other$name != null : !this$name.equals(other$name)) {
+            return false;
+        }
+        final Object this$displayName = this.getDisplayName();
+        final Object other$displayName = other.getDisplayName();
+        if (this$displayName == null ? other$displayName != null : !this$displayName.equals(other$displayName)) {
+            return false;
+        }
+        final Object this$type = this.getType();
+        final Object other$type = other.getType();
+        if (this$type == null ? other$type != null : !this$type.equals(other$type)) {
+            return false;
+        }
+        if (this.getCount() != other.getCount()) {
+            return false;
+        }
+        if (this.getLastPing() != other.getLastPing()) {
+            return false;
+        }
+        if (this.getNumberOfGuests() != other.getNumberOfGuests()) {
+            return false;
+        }
+        final Object this$guestList = this.getGuestList();
+        final Object other$guestList = other.getGuestList();
+        if (this$guestList == null ? other$guestList != null : !this$guestList.equals(other$guestList)) {
+            return false;
+        }
+        final Object this$participants = this.getParticipants();
+        final Object other$participants = other.getParticipants();
+        if (this$participants == null ? other$participants != null : !this$participants.equals(other$participants)) {
+            return false;
+        }
+        final Object this$participantType = this.getParticipantType();
+        final Object other$participantType = other.getParticipantType();
+        if (this$participantType == null ? other$participantType != null : !this$participantType.equals(other$participantType)) {
+            return false;
+        }
+        if (this.isHasPassword() != other.isHasPassword()) {
+            return false;
+        }
+        final Object this$sessionId = this.getSessionId();
+        final Object other$sessionId = other.getSessionId();
+        if (this$sessionId == null ? other$sessionId != null : !this$sessionId.equals(other$sessionId)) {
+            return false;
+        }
+        final Object this$password = this.getPassword();
+        final Object other$password = other.getPassword();
+        if (this$password == null ? other$password != null : !this$password.equals(other$password)) {
+            return false;
+        }
+        if (this.isFavorite() != other.isFavorite()) {
+            return false;
+        }
+        if (this.getLastActivity() != other.getLastActivity()) {
+            return false;
+        }
+        if (this.getUnreadMessages() != other.getUnreadMessages()) {
+            return false;
+        }
+        if (this.isUnreadMention() != other.isUnreadMention()) {
+            return false;
+        }
+        final Object this$lastMessage = this.getLastMessage();
+        final Object other$lastMessage = other.getLastMessage();
+        if (this$lastMessage == null ? other$lastMessage != null : !this$lastMessage.equals(other$lastMessage)) {
+            return false;
+        }
+        final Object this$objectType = this.getObjectType();
+        final Object other$objectType = other.getObjectType();
+        if (this$objectType == null ? other$objectType != null : !this$objectType.equals(other$objectType)) {
+            return false;
+        }
+        final Object this$notificationLevel = this.getNotificationLevel();
+        final Object other$notificationLevel = other.getNotificationLevel();
+        if (this$notificationLevel == null ? other$notificationLevel != null : !this$notificationLevel.equals(other$notificationLevel)) {
+            return false;
+        }
+        final Object this$conversationReadOnlyState = this.getConversationReadOnlyState();
+        final Object other$conversationReadOnlyState = other.getConversationReadOnlyState();
+        if (this$conversationReadOnlyState == null ? other$conversationReadOnlyState != null : !this$conversationReadOnlyState.equals(other$conversationReadOnlyState)) {
+            return false;
+        }
+        final Object this$lobbyState = this.getLobbyState();
+        final Object other$lobbyState = other.getLobbyState();
+        if (this$lobbyState == null ? other$lobbyState != null : !this$lobbyState.equals(other$lobbyState)) {
+            return false;
+        }
+        final Object this$lobbyTimer = this.getLobbyTimer();
+        final Object other$lobbyTimer = other.getLobbyTimer();
+        if (this$lobbyTimer == null ? other$lobbyTimer != null : !this$lobbyTimer.equals(other$lobbyTimer)) {
+            return false;
+        }
+        if (this.getLastReadMessage() != other.getLastReadMessage()) {
+            return false;
+        }
+        if (this.getCallFlag() != other.getCallFlag()) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof Conversation;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $roomId = this.getRoomId();
+        result = result * PRIME + ($roomId == null ? 43 : $roomId.hashCode());
+        final Object $token = this.getToken();
+        result = result * PRIME + ($token == null ? 43 : $token.hashCode());
+        final Object $name = this.getName();
+        result = result * PRIME + ($name == null ? 43 : $name.hashCode());
+        final Object $displayName = this.getDisplayName();
+        result = result * PRIME + ($displayName == null ? 43 : $displayName.hashCode());
+        final Object $type = this.getType();
+        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
+        final long $count = this.getCount();
+        result = result * PRIME + (int) ($count >>> 32 ^ $count);
+        final long $lastPing = this.getLastPing();
+        result = result * PRIME + (int) ($lastPing >>> 32 ^ $lastPing);
+        final long $numberOfGuests = this.getNumberOfGuests();
+        result = result * PRIME + (int) ($numberOfGuests >>> 32 ^ $numberOfGuests);
+        final Object $guestList = this.getGuestList();
+        result = result * PRIME + ($guestList == null ? 43 : $guestList.hashCode());
+        final Object $participants = this.getParticipants();
+        result = result * PRIME + ($participants == null ? 43 : $participants.hashCode());
+        final Object $participantType = this.getParticipantType();
+        result = result * PRIME + ($participantType == null ? 43 : $participantType.hashCode());
+        result = result * PRIME + (this.isHasPassword() ? 79 : 97);
+        final Object $sessionId = this.getSessionId();
+        result = result * PRIME + ($sessionId == null ? 43 : $sessionId.hashCode());
+        final Object $password = this.getPassword();
+        result = result * PRIME + ($password == null ? 43 : $password.hashCode());
+        result = result * PRIME + (this.isFavorite() ? 79 : 97);
+        final long $lastActivity = this.getLastActivity();
+        result = result * PRIME + (int) ($lastActivity >>> 32 ^ $lastActivity);
+        result = result * PRIME + this.getUnreadMessages();
+        result = result * PRIME + (this.isUnreadMention() ? 79 : 97);
+        final Object $lastMessage = this.getLastMessage();
+        result = result * PRIME + ($lastMessage == null ? 43 : $lastMessage.hashCode());
+        final Object $objectType = this.getObjectType();
+        result = result * PRIME + ($objectType == null ? 43 : $objectType.hashCode());
+        final Object $notificationLevel = this.getNotificationLevel();
+        result = result * PRIME + ($notificationLevel == null ? 43 : $notificationLevel.hashCode());
+        final Object $conversationReadOnlyState = this.getConversationReadOnlyState();
+        result = result * PRIME + ($conversationReadOnlyState == null ? 43 : $conversationReadOnlyState.hashCode());
+        final Object $lobbyState = this.getLobbyState();
+        result = result * PRIME + ($lobbyState == null ? 43 : $lobbyState.hashCode());
+        final Object $lobbyTimer = this.getLobbyTimer();
+        result = result * PRIME + ($lobbyTimer == null ? 43 : $lobbyTimer.hashCode());
+        result = result * PRIME + this.getLastReadMessage();
+        result = result * PRIME + this.getCallFlag();
+        return result;
+    }
+
+    public String toString() {
+        return "Conversation(roomId=" + this.getRoomId() + ", token=" + this.getToken() + ", name=" + this.getName() + ", displayName=" + this.getDisplayName() + ", type=" + this.getType() + ", count=" + this.getCount() + ", lastPing=" + this.getLastPing() + ", numberOfGuests=" + this.getNumberOfGuests() + ", guestList=" + this.getGuestList() + ", participants=" + this.getParticipants() + ", participantType=" + this.getParticipantType() + ", hasPassword=" + this.isHasPassword() + ", sessionId=" + this.getSessionId() + ", password=" + this.getPassword() + ", isFavorite=" + this.isFavorite() + ", lastActivity=" + this.getLastActivity() + ", unreadMessages=" + this.getUnreadMessages() + ", unreadMention=" + this.isUnreadMention() + ", lastMessage=" + this.getLastMessage() + ", objectType=" + this.getObjectType() + ", notificationLevel=" + this.getNotificationLevel() + ", conversationReadOnlyState=" + this.getConversationReadOnlyState() + ", lobbyState=" + this.getLobbyState() + ", lobbyTimer=" + this.getLobbyTimer() + ", lastReadMessage=" + this.getLastReadMessage() + ", callFlag=" + this.getCallFlag() + ")";
+    }
+
     public enum NotificationLevel {
         DEFAULT,
         ALWAYS,

+ 46 - 2
app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomOCS.java

@@ -23,11 +23,55 @@ package com.nextcloud.talk.models.json.conversations;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.generic.GenericOCS;
-import lombok.Data;
 
-@Data
 @JsonObject
 public class RoomOCS extends GenericOCS {
     @JsonField(name = "data")
     public Conversation data;
+
+    public RoomOCS() {
+    }
+
+    public Conversation getData() {
+        return this.data;
+    }
+
+    public void setData(Conversation data) {
+        this.data = data;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof RoomOCS)) {
+            return false;
+        }
+        final RoomOCS other = (RoomOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$data = this.getData();
+        final Object other$data = other.getData();
+        if (this$data == null ? other$data != null : !this$data.equals(other$data)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof RoomOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $data = this.getData();
+        result = result * PRIME + ($data == null ? 43 : $data.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "RoomOCS(data=" + this.getData() + ")";
+    }
 }

+ 46 - 2
app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomOverall.java

@@ -22,11 +22,55 @@ package com.nextcloud.talk.models.json.conversations;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
 
-@Data
 @JsonObject
 public class RoomOverall {
     @JsonField(name = "ocs")
     public RoomOCS ocs;
+
+    public RoomOverall() {
+    }
+
+    public RoomOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(RoomOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof RoomOverall)) {
+            return false;
+        }
+        final RoomOverall other = (RoomOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof RoomOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "RoomOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomsOCS.java

@@ -23,15 +23,60 @@ package com.nextcloud.talk.models.json.conversations;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.generic.GenericOCS;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 import java.util.List;
 
-@Data
 @Parcel
 @JsonObject
 public class RoomsOCS extends GenericOCS {
     @JsonField(name = "data")
     public List<Conversation> data;
+
+    public RoomsOCS() {
+    }
+
+    public List<Conversation> getData() {
+        return this.data;
+    }
+
+    public void setData(List<Conversation> data) {
+        this.data = data;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof RoomsOCS)) {
+            return false;
+        }
+        final RoomsOCS other = (RoomsOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$data = this.getData();
+        final Object other$data = other.getData();
+        if (this$data == null ? other$data != null : !this$data.equals(other$data)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof RoomsOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $data = this.getData();
+        result = result * PRIME + ($data == null ? 43 : $data.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "RoomsOCS(data=" + this.getData() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomsOverall.java

@@ -22,13 +22,58 @@ package com.nextcloud.talk.models.json.conversations;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 @JsonObject
 public class RoomsOverall {
     @JsonField(name = "ocs")
     public RoomsOCS ocs;
+
+    public RoomsOverall() {
+    }
+
+    public RoomsOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(RoomsOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof RoomsOverall)) {
+            return false;
+        }
+        final RoomsOverall other = (RoomsOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof RoomsOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "RoomsOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 74 - 2
app/src/main/java/com/nextcloud/talk/models/json/generic/GenericMeta.java

@@ -22,11 +22,10 @@ package com.nextcloud.talk.models.json.generic;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject(serializeNullObjects = true)
 public class GenericMeta {
     @JsonField(name = "status")
@@ -37,4 +36,77 @@ public class GenericMeta {
 
     @JsonField(name = "message")
     public String message;
+
+    public GenericMeta() {
+    }
+
+    public String getStatus() {
+        return this.status;
+    }
+
+    public int getStatusCode() {
+        return this.statusCode;
+    }
+
+    public String getMessage() {
+        return this.message;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public void setStatusCode(int statusCode) {
+        this.statusCode = statusCode;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof GenericMeta)) {
+            return false;
+        }
+        final GenericMeta other = (GenericMeta) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$status = this.getStatus();
+        final Object other$status = other.getStatus();
+        if (this$status == null ? other$status != null : !this$status.equals(other$status)) {
+            return false;
+        }
+        if (this.getStatusCode() != other.getStatusCode()) {
+            return false;
+        }
+        final Object this$message = this.getMessage();
+        final Object other$message = other.getMessage();
+        if (this$message == null ? other$message != null : !this$message.equals(other$message)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof GenericMeta;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $status = this.getStatus();
+        result = result * PRIME + ($status == null ? 43 : $status.hashCode());
+        result = result * PRIME + this.getStatusCode();
+        final Object $message = this.getMessage();
+        result = result * PRIME + ($message == null ? 43 : $message.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "GenericMeta(status=" + this.getStatus() + ", statusCode=" + this.getStatusCode() + ", message=" + this.getMessage() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/generic/GenericOCS.java

@@ -22,13 +22,58 @@ package com.nextcloud.talk.models.json.generic;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject
 public class GenericOCS {
     @JsonField(name = "meta")
     public GenericMeta meta;
+
+    public GenericOCS() {
+    }
+
+    public GenericMeta getMeta() {
+        return this.meta;
+    }
+
+    public void setMeta(GenericMeta meta) {
+        this.meta = meta;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof GenericOCS)) {
+            return false;
+        }
+        final GenericOCS other = (GenericOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$meta = this.getMeta();
+        final Object other$meta = other.getMeta();
+        if (this$meta == null ? other$meta != null : !this$meta.equals(other$meta)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof GenericOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $meta = this.getMeta();
+        result = result * PRIME + ($meta == null ? 43 : $meta.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "GenericOCS(meta=" + this.getMeta() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/generic/GenericOverall.java

@@ -22,13 +22,58 @@ package com.nextcloud.talk.models.json.generic;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject
 public class GenericOverall {
     @JsonField(name = "ocs")
     public GenericOCS ocs;
+
+    public GenericOverall() {
+    }
+
+    public GenericOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(GenericOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof GenericOverall)) {
+            return false;
+        }
+        final GenericOverall other = (GenericOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof GenericOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "GenericOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 128 - 2
app/src/main/java/com/nextcloud/talk/models/json/generic/Status.java

@@ -22,11 +22,10 @@ package com.nextcloud.talk.models.json.generic;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject
 public class Status {
     @JsonField(name = "installed")
@@ -49,4 +48,131 @@ public class Status {
 
     @JsonField(name = "productname")
     public String productName;
+
+    public Status() {
+    }
+
+    public boolean isInstalled() {
+        return this.installed;
+    }
+
+    public boolean isMaintenance() {
+        return this.maintenance;
+    }
+
+    public boolean isNeedsUpgrade() {
+        return this.needsUpgrade;
+    }
+
+    public String getVersion() {
+        return this.version;
+    }
+
+    public String getVersionString() {
+        return this.versionString;
+    }
+
+    public String getEdition() {
+        return this.edition;
+    }
+
+    public String getProductName() {
+        return this.productName;
+    }
+
+    public void setInstalled(boolean installed) {
+        this.installed = installed;
+    }
+
+    public void setMaintenance(boolean maintenance) {
+        this.maintenance = maintenance;
+    }
+
+    public void setNeedsUpgrade(boolean needsUpgrade) {
+        this.needsUpgrade = needsUpgrade;
+    }
+
+    public void setVersion(String version) {
+        this.version = version;
+    }
+
+    public void setVersionString(String versionString) {
+        this.versionString = versionString;
+    }
+
+    public void setEdition(String edition) {
+        this.edition = edition;
+    }
+
+    public void setProductName(String productName) {
+        this.productName = productName;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof Status)) {
+            return false;
+        }
+        final Status other = (Status) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        if (this.isInstalled() != other.isInstalled()) {
+            return false;
+        }
+        if (this.isMaintenance() != other.isMaintenance()) {
+            return false;
+        }
+        if (this.isNeedsUpgrade() != other.isNeedsUpgrade()) {
+            return false;
+        }
+        final Object this$version = this.getVersion();
+        final Object other$version = other.getVersion();
+        if (this$version == null ? other$version != null : !this$version.equals(other$version)) {
+            return false;
+        }
+        final Object this$versionString = this.getVersionString();
+        final Object other$versionString = other.getVersionString();
+        if (this$versionString == null ? other$versionString != null : !this$versionString.equals(other$versionString)) {
+            return false;
+        }
+        final Object this$edition = this.getEdition();
+        final Object other$edition = other.getEdition();
+        if (this$edition == null ? other$edition != null : !this$edition.equals(other$edition)) {
+            return false;
+        }
+        final Object this$productName = this.getProductName();
+        final Object other$productName = other.getProductName();
+        if (this$productName == null ? other$productName != null : !this$productName.equals(other$productName)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof Status;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        result = result * PRIME + (this.isInstalled() ? 79 : 97);
+        result = result * PRIME + (this.isMaintenance() ? 79 : 97);
+        result = result * PRIME + (this.isNeedsUpgrade() ? 79 : 97);
+        final Object $version = this.getVersion();
+        result = result * PRIME + ($version == null ? 43 : $version.hashCode());
+        final Object $versionString = this.getVersionString();
+        result = result * PRIME + ($versionString == null ? 43 : $versionString.hashCode());
+        final Object $edition = this.getEdition();
+        result = result * PRIME + ($edition == null ? 43 : $edition.hashCode());
+        final Object $productName = this.getProductName();
+        result = result * PRIME + ($productName == null ? 43 : $productName.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "Status(installed=" + this.isInstalled() + ", maintenance=" + this.isMaintenance() + ", needsUpgrade=" + this.isNeedsUpgrade() + ", version=" + this.getVersion() + ", versionString=" + this.getVersionString() + ", edition=" + this.getEdition() + ", productName=" + this.getProductName() + ")";
+    }
 }

+ 77 - 2
app/src/main/java/com/nextcloud/talk/models/json/mention/Mention.java

@@ -21,11 +21,10 @@ package com.nextcloud.talk.models.json.mention;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject
 public class Mention {
     @JsonField(name = "id")
@@ -37,4 +36,80 @@ public class Mention {
     // type of user (guests or users or calls)
     @JsonField(name = "source")
     String source;
+
+    public Mention() {
+    }
+
+    public String getId() {
+        return this.id;
+    }
+
+    public String getLabel() {
+        return this.label;
+    }
+
+    public String getSource() {
+        return this.source;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public void setSource(String source) {
+        this.source = source;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof Mention)) {
+            return false;
+        }
+        final Mention other = (Mention) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$id = this.getId();
+        final Object other$id = other.getId();
+        if (this$id == null ? other$id != null : !this$id.equals(other$id)) {
+            return false;
+        }
+        final Object this$label = this.getLabel();
+        final Object other$label = other.getLabel();
+        if (this$label == null ? other$label != null : !this$label.equals(other$label)) {
+            return false;
+        }
+        final Object this$source = this.getSource();
+        final Object other$source = other.getSource();
+        if (this$source == null ? other$source != null : !this$source.equals(other$source)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof Mention;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $id = this.getId();
+        result = result * PRIME + ($id == null ? 43 : $id.hashCode());
+        final Object $label = this.getLabel();
+        result = result * PRIME + ($label == null ? 43 : $label.hashCode());
+        final Object $source = this.getSource();
+        result = result * PRIME + ($source == null ? 43 : $source.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "Mention(id=" + this.getId() + ", label=" + this.getLabel() + ", source=" + this.getSource() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/mention/MentionOCS.java

@@ -22,15 +22,60 @@ package com.nextcloud.talk.models.json.mention;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.generic.GenericOCS;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 import java.util.List;
 
-@Data
 @Parcel
 @JsonObject
 public class MentionOCS extends GenericOCS {
     @JsonField(name = "data")
     List<Mention> data;
+
+    public MentionOCS() {
+    }
+
+    public List<Mention> getData() {
+        return this.data;
+    }
+
+    public void setData(List<Mention> data) {
+        this.data = data;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof MentionOCS)) {
+            return false;
+        }
+        final MentionOCS other = (MentionOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$data = this.getData();
+        final Object other$data = other.getData();
+        if (this$data == null ? other$data != null : !this$data.equals(other$data)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof MentionOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $data = this.getData();
+        result = result * PRIME + ($data == null ? 43 : $data.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "MentionOCS(data=" + this.getData() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/mention/MentionOverall.java

@@ -21,13 +21,58 @@ package com.nextcloud.talk.models.json.mention;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 @JsonObject
 public class MentionOverall {
     @JsonField(name = "ocs")
     MentionOCS ocs;
+
+    public MentionOverall() {
+    }
+
+    public MentionOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(MentionOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof MentionOverall)) {
+            return false;
+        }
+        final MentionOverall other = (MentionOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof MentionOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "MentionOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 253 - 4
app/src/main/java/com/nextcloud/talk/models/json/notifications/Notification.java

@@ -27,13 +27,9 @@ import com.nextcloud.talk.models.json.converters.LoganSquareJodaTimeConverter;
 import org.joda.time.DateTime;
 import org.parceler.Parcel;
 
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 
-import lombok.Data;
-
-@Data
 @Parcel
 @JsonObject
 public class Notification {
@@ -67,4 +63,257 @@ public class Notification {
     String link;
     @JsonField(name = "actions")
     List<NotificationAction> actions;
+
+    public Notification() {
+    }
+
+    public String getIcon() {
+        return this.icon;
+    }
+
+    public int getNotificationId() {
+        return this.notificationId;
+    }
+
+    public String getApp() {
+        return this.app;
+    }
+
+    public String getUser() {
+        return this.user;
+    }
+
+    public DateTime getDatetime() {
+        return this.datetime;
+    }
+
+    public String getObjectType() {
+        return this.objectType;
+    }
+
+    public String getObjectId() {
+        return this.objectId;
+    }
+
+    public String getSubject() {
+        return this.subject;
+    }
+
+    public String getSubjectRich() {
+        return this.subjectRich;
+    }
+
+    public HashMap<String, HashMap<String, String>> getSubjectRichParameters() {
+        return this.subjectRichParameters;
+    }
+
+    public String getMessage() {
+        return this.message;
+    }
+
+    public String getMessageRich() {
+        return this.messageRich;
+    }
+
+    public HashMap<String, HashMap<String, String>> getMessageRichParameters() {
+        return this.messageRichParameters;
+    }
+
+    public String getLink() {
+        return this.link;
+    }
+
+    public List<NotificationAction> getActions() {
+        return this.actions;
+    }
+
+    public void setIcon(String icon) {
+        this.icon = icon;
+    }
+
+    public void setNotificationId(int notificationId) {
+        this.notificationId = notificationId;
+    }
+
+    public void setApp(String app) {
+        this.app = app;
+    }
+
+    public void setUser(String user) {
+        this.user = user;
+    }
+
+    public void setDatetime(DateTime datetime) {
+        this.datetime = datetime;
+    }
+
+    public void setObjectType(String objectType) {
+        this.objectType = objectType;
+    }
+
+    public void setObjectId(String objectId) {
+        this.objectId = objectId;
+    }
+
+    public void setSubject(String subject) {
+        this.subject = subject;
+    }
+
+    public void setSubjectRich(String subjectRich) {
+        this.subjectRich = subjectRich;
+    }
+
+    public void setSubjectRichParameters(HashMap<String, HashMap<String, String>> subjectRichParameters) {
+        this.subjectRichParameters = subjectRichParameters;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+
+    public void setMessageRich(String messageRich) {
+        this.messageRich = messageRich;
+    }
+
+    public void setMessageRichParameters(HashMap<String, HashMap<String, String>> messageRichParameters) {
+        this.messageRichParameters = messageRichParameters;
+    }
+
+    public void setLink(String link) {
+        this.link = link;
+    }
+
+    public void setActions(List<NotificationAction> actions) {
+        this.actions = actions;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof Notification)) {
+            return false;
+        }
+        final Notification other = (Notification) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$icon = this.getIcon();
+        final Object other$icon = other.getIcon();
+        if (this$icon == null ? other$icon != null : !this$icon.equals(other$icon)) {
+            return false;
+        }
+        if (this.getNotificationId() != other.getNotificationId()) {
+            return false;
+        }
+        final Object this$app = this.getApp();
+        final Object other$app = other.getApp();
+        if (this$app == null ? other$app != null : !this$app.equals(other$app)) {
+            return false;
+        }
+        final Object this$user = this.getUser();
+        final Object other$user = other.getUser();
+        if (this$user == null ? other$user != null : !this$user.equals(other$user)) {
+            return false;
+        }
+        final Object this$datetime = this.getDatetime();
+        final Object other$datetime = other.getDatetime();
+        if (this$datetime == null ? other$datetime != null : !this$datetime.equals(other$datetime)) {
+            return false;
+        }
+        final Object this$objectType = this.getObjectType();
+        final Object other$objectType = other.getObjectType();
+        if (this$objectType == null ? other$objectType != null : !this$objectType.equals(other$objectType)) {
+            return false;
+        }
+        final Object this$objectId = this.getObjectId();
+        final Object other$objectId = other.getObjectId();
+        if (this$objectId == null ? other$objectId != null : !this$objectId.equals(other$objectId)) {
+            return false;
+        }
+        final Object this$subject = this.getSubject();
+        final Object other$subject = other.getSubject();
+        if (this$subject == null ? other$subject != null : !this$subject.equals(other$subject)) {
+            return false;
+        }
+        final Object this$subjectRich = this.getSubjectRich();
+        final Object other$subjectRich = other.getSubjectRich();
+        if (this$subjectRich == null ? other$subjectRich != null : !this$subjectRich.equals(other$subjectRich)) {
+            return false;
+        }
+        final Object this$subjectRichParameters = this.getSubjectRichParameters();
+        final Object other$subjectRichParameters = other.getSubjectRichParameters();
+        if (this$subjectRichParameters == null ? other$subjectRichParameters != null : !this$subjectRichParameters.equals(other$subjectRichParameters)) {
+            return false;
+        }
+        final Object this$message = this.getMessage();
+        final Object other$message = other.getMessage();
+        if (this$message == null ? other$message != null : !this$message.equals(other$message)) {
+            return false;
+        }
+        final Object this$messageRich = this.getMessageRich();
+        final Object other$messageRich = other.getMessageRich();
+        if (this$messageRich == null ? other$messageRich != null : !this$messageRich.equals(other$messageRich)) {
+            return false;
+        }
+        final Object this$messageRichParameters = this.getMessageRichParameters();
+        final Object other$messageRichParameters = other.getMessageRichParameters();
+        if (this$messageRichParameters == null ? other$messageRichParameters != null : !this$messageRichParameters.equals(other$messageRichParameters)) {
+            return false;
+        }
+        final Object this$link = this.getLink();
+        final Object other$link = other.getLink();
+        if (this$link == null ? other$link != null : !this$link.equals(other$link)) {
+            return false;
+        }
+        final Object this$actions = this.getActions();
+        final Object other$actions = other.getActions();
+        if (this$actions == null ? other$actions != null : !this$actions.equals(other$actions)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof Notification;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $icon = this.getIcon();
+        result = result * PRIME + ($icon == null ? 43 : $icon.hashCode());
+        result = result * PRIME + this.getNotificationId();
+        final Object $app = this.getApp();
+        result = result * PRIME + ($app == null ? 43 : $app.hashCode());
+        final Object $user = this.getUser();
+        result = result * PRIME + ($user == null ? 43 : $user.hashCode());
+        final Object $datetime = this.getDatetime();
+        result = result * PRIME + ($datetime == null ? 43 : $datetime.hashCode());
+        final Object $objectType = this.getObjectType();
+        result = result * PRIME + ($objectType == null ? 43 : $objectType.hashCode());
+        final Object $objectId = this.getObjectId();
+        result = result * PRIME + ($objectId == null ? 43 : $objectId.hashCode());
+        final Object $subject = this.getSubject();
+        result = result * PRIME + ($subject == null ? 43 : $subject.hashCode());
+        final Object $subjectRich = this.getSubjectRich();
+        result = result * PRIME + ($subjectRich == null ? 43 : $subjectRich.hashCode());
+        final Object $subjectRichParameters = this.getSubjectRichParameters();
+        result = result * PRIME + ($subjectRichParameters == null ? 43 : $subjectRichParameters.hashCode());
+        final Object $message = this.getMessage();
+        result = result * PRIME + ($message == null ? 43 : $message.hashCode());
+        final Object $messageRich = this.getMessageRich();
+        result = result * PRIME + ($messageRich == null ? 43 : $messageRich.hashCode());
+        final Object $messageRichParameters = this.getMessageRichParameters();
+        result = result * PRIME + ($messageRichParameters == null ? 43 : $messageRichParameters.hashCode());
+        final Object $link = this.getLink();
+        result = result * PRIME + ($link == null ? 43 : $link.hashCode());
+        final Object $actions = this.getActions();
+        result = result * PRIME + ($actions == null ? 43 : $actions.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "Notification(icon=" + this.getIcon() + ", notificationId=" + this.getNotificationId() + ", app=" + this.getApp() + ", user=" + this.getUser() + ", datetime=" + this.getDatetime() + ", objectType=" + this.getObjectType() + ", objectId=" + this.getObjectId() + ", subject=" + this.getSubject() + ", subjectRich=" + this.getSubjectRich() + ", subjectRichParameters=" + this.getSubjectRichParameters() + ", message=" + this.getMessage() + ", messageRich=" + this.getMessageRich() + ", messageRichParameters=" + this.getMessageRichParameters() + ", link=" + this.getLink() + ", actions=" + this.getActions() + ")";
+    }
 }

+ 89 - 2
app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationAction.java

@@ -22,10 +22,9 @@ package com.nextcloud.talk.models.json.notifications;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 @JsonObject
 public class NotificationAction {
@@ -40,4 +39,92 @@ public class NotificationAction {
 
     @JsonField(name = "primary")
     boolean primary;
+
+    public NotificationAction() {
+    }
+
+    public String getLabel() {
+        return this.label;
+    }
+
+    public String getLink() {
+        return this.link;
+    }
+
+    public String getType() {
+        return this.type;
+    }
+
+    public boolean isPrimary() {
+        return this.primary;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public void setLink(String link) {
+        this.link = link;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public void setPrimary(boolean primary) {
+        this.primary = primary;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof NotificationAction)) {
+            return false;
+        }
+        final NotificationAction other = (NotificationAction) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$label = this.getLabel();
+        final Object other$label = other.getLabel();
+        if (this$label == null ? other$label != null : !this$label.equals(other$label)) {
+            return false;
+        }
+        final Object this$link = this.getLink();
+        final Object other$link = other.getLink();
+        if (this$link == null ? other$link != null : !this$link.equals(other$link)) {
+            return false;
+        }
+        final Object this$type = this.getType();
+        final Object other$type = other.getType();
+        if (this$type == null ? other$type != null : !this$type.equals(other$type)) {
+            return false;
+        }
+        if (this.isPrimary() != other.isPrimary()) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof NotificationAction;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $label = this.getLabel();
+        result = result * PRIME + ($label == null ? 43 : $label.hashCode());
+        final Object $link = this.getLink();
+        result = result * PRIME + ($link == null ? 43 : $link.hashCode());
+        final Object $type = this.getType();
+        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
+        result = result * PRIME + (this.isPrimary() ? 79 : 97);
+        return result;
+    }
+
+    public String toString() {
+        return "NotificationAction(label=" + this.getLabel() + ", link=" + this.getLink() + ", type=" + this.getType() + ", primary=" + this.isPrimary() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOCS.java

@@ -23,13 +23,58 @@ package com.nextcloud.talk.models.json.notifications;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.generic.GenericOCS;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 @JsonObject
 public class NotificationOCS extends GenericOCS {
     @JsonField(name = "data")
     Notification notification;
+
+    public NotificationOCS() {
+    }
+
+    public Notification getNotification() {
+        return this.notification;
+    }
+
+    public void setNotification(Notification notification) {
+        this.notification = notification;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof NotificationOCS)) {
+            return false;
+        }
+        final NotificationOCS other = (NotificationOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$notification = this.getNotification();
+        final Object other$notification = other.getNotification();
+        if (this$notification == null ? other$notification != null : !this$notification.equals(other$notification)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof NotificationOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $notification = this.getNotification();
+        result = result * PRIME + ($notification == null ? 43 : $notification.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "NotificationOCS(notification=" + this.getNotification() + ")";
+    }
 }

+ 46 - 2
app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOverall.java

@@ -21,11 +21,55 @@ package com.nextcloud.talk.models.json.notifications;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
 
-@Data
 @JsonObject
 public class NotificationOverall {
     @JsonField(name = "ocs")
     NotificationOCS ocs;
+
+    public NotificationOverall() {
+    }
+
+    public NotificationOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(NotificationOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof NotificationOverall)) {
+            return false;
+        }
+        final NotificationOverall other = (NotificationOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof NotificationOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "NotificationOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 77 - 2
app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationRichObject.java

@@ -22,10 +22,9 @@ package com.nextcloud.talk.models.json.notifications;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 @JsonObject
 public class NotificationRichObject {
@@ -37,4 +36,80 @@ public class NotificationRichObject {
 
     @JsonField(name = "name")
     String name;
+
+    public NotificationRichObject() {
+    }
+
+    public String getLabel() {
+        return this.label;
+    }
+
+    public String getType() {
+        return this.type;
+    }
+
+    public String getName() {
+        return this.name;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof NotificationRichObject)) {
+            return false;
+        }
+        final NotificationRichObject other = (NotificationRichObject) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$label = this.getLabel();
+        final Object other$label = other.getLabel();
+        if (this$label == null ? other$label != null : !this$label.equals(other$label)) {
+            return false;
+        }
+        final Object this$type = this.getType();
+        final Object other$type = other.getType();
+        if (this$type == null ? other$type != null : !this$type.equals(other$type)) {
+            return false;
+        }
+        final Object this$name = this.getName();
+        final Object other$name = other.getName();
+        if (this$name == null ? other$name != null : !this$name.equals(other$name)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof NotificationRichObject;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $label = this.getLabel();
+        result = result * PRIME + ($label == null ? 43 : $label.hashCode());
+        final Object $type = this.getType();
+        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
+        final Object $name = this.getName();
+        result = result * PRIME + ($name == null ? 43 : $name.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "NotificationRichObject(label=" + this.getLabel() + ", type=" + this.getType() + ", name=" + this.getName() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationsOCS.java

@@ -23,15 +23,60 @@ package com.nextcloud.talk.models.json.notifications;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.generic.GenericOCS;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 import java.util.List;
 
-@Data
 @Parcel
 @JsonObject
 public class NotificationsOCS extends GenericOCS {
     @JsonField(name = "data")
     List<Notification> notificationsList;
+
+    public NotificationsOCS() {
+    }
+
+    public List<Notification> getNotificationsList() {
+        return this.notificationsList;
+    }
+
+    public void setNotificationsList(List<Notification> notificationsList) {
+        this.notificationsList = notificationsList;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof NotificationsOCS)) {
+            return false;
+        }
+        final NotificationsOCS other = (NotificationsOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$notificationsList = this.getNotificationsList();
+        final Object other$notificationsList = other.getNotificationsList();
+        if (this$notificationsList == null ? other$notificationsList != null : !this$notificationsList.equals(other$notificationsList)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof NotificationsOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $notificationsList = this.getNotificationsList();
+        result = result * PRIME + ($notificationsList == null ? 43 : $notificationsList.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "NotificationsOCS(notificationsList=" + this.getNotificationsList() + ")";
+    }
 }

+ 46 - 2
app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationsOverall.java

@@ -21,11 +21,55 @@ package com.nextcloud.talk.models.json.notifications;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
 
-@Data
 @JsonObject
 public class NotificationsOverall {
     @JsonField(name = "ocs")
     NotificationsOCS ocs;
+
+    public NotificationsOverall() {
+    }
+
+    public NotificationsOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(NotificationsOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof NotificationsOverall)) {
+            return false;
+        }
+        final NotificationsOverall other = (NotificationsOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof NotificationsOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "NotificationsOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 46 - 2
app/src/main/java/com/nextcloud/talk/models/json/participants/AddParticipantOverall.java

@@ -23,11 +23,55 @@ package com.nextcloud.talk.models.json.participants;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.conversations.RoomsOCS;
-import lombok.Data;
 
-@Data
 @JsonObject
 public class AddParticipantOverall {
     @JsonField(name = "ocs")
     RoomsOCS ocs;
+
+    public AddParticipantOverall() {
+    }
+
+    public RoomsOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(RoomsOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof AddParticipantOverall)) {
+            return false;
+        }
+        final AddParticipantOverall other = (AddParticipantOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof AddParticipantOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "AddParticipantOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 175 - 2
app/src/main/java/com/nextcloud/talk/models/json/participants/Participant.java

@@ -24,12 +24,11 @@ import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.converters.EnumParticipantTypeConverter;
 import com.nextcloud.talk.models.json.converters.ObjectParcelConverter;
-import lombok.Data;
+
 import org.parceler.Parcel;
 import org.parceler.ParcelPropertyConverter;
 
 @Parcel
-@Data
 @JsonObject
 public class Participant {
     @JsonField(name = "userId")
@@ -60,6 +59,9 @@ public class Participant {
 
     public boolean selected;
 
+    public Participant() {
+    }
+
 
     public ParticipantFlags getParticipantFlags() {
         ParticipantFlags participantFlags = ParticipantFlags.NOT_IN_CALL;
@@ -78,6 +80,177 @@ public class Participant {
         return participantFlags;
     }
 
+    public String getUserId() {
+        return this.userId;
+    }
+
+    public ParticipantType getType() {
+        return this.type;
+    }
+
+    public String getName() {
+        return this.name;
+    }
+
+    public String getDisplayName() {
+        return this.displayName;
+    }
+
+    public long getLastPing() {
+        return this.lastPing;
+    }
+
+    public String getSessionId() {
+        return this.sessionId;
+    }
+
+    public long getRoomId() {
+        return this.roomId;
+    }
+
+    public Object getInCall() {
+        return this.inCall;
+    }
+
+    public String getSource() {
+        return this.source;
+    }
+
+    public boolean isSelected() {
+        return this.selected;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public void setType(ParticipantType type) {
+        this.type = type;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public void setDisplayName(String displayName) {
+        this.displayName = displayName;
+    }
+
+    public void setLastPing(long lastPing) {
+        this.lastPing = lastPing;
+    }
+
+    public void setSessionId(String sessionId) {
+        this.sessionId = sessionId;
+    }
+
+    public void setRoomId(long roomId) {
+        this.roomId = roomId;
+    }
+
+    public void setInCall(Object inCall) {
+        this.inCall = inCall;
+    }
+
+    public void setSource(String source) {
+        this.source = source;
+    }
+
+    public void setSelected(boolean selected) {
+        this.selected = selected;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof Participant)) {
+            return false;
+        }
+        final Participant other = (Participant) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$userId = this.getUserId();
+        final Object other$userId = other.getUserId();
+        if (this$userId == null ? other$userId != null : !this$userId.equals(other$userId)) {
+            return false;
+        }
+        final Object this$type = this.getType();
+        final Object other$type = other.getType();
+        if (this$type == null ? other$type != null : !this$type.equals(other$type)) {
+            return false;
+        }
+        final Object this$name = this.getName();
+        final Object other$name = other.getName();
+        if (this$name == null ? other$name != null : !this$name.equals(other$name)) {
+            return false;
+        }
+        final Object this$displayName = this.getDisplayName();
+        final Object other$displayName = other.getDisplayName();
+        if (this$displayName == null ? other$displayName != null : !this$displayName.equals(other$displayName)) {
+            return false;
+        }
+        if (this.getLastPing() != other.getLastPing()) {
+            return false;
+        }
+        final Object this$sessionId = this.getSessionId();
+        final Object other$sessionId = other.getSessionId();
+        if (this$sessionId == null ? other$sessionId != null : !this$sessionId.equals(other$sessionId)) {
+            return false;
+        }
+        if (this.getRoomId() != other.getRoomId()) {
+            return false;
+        }
+        final Object this$inCall = this.getInCall();
+        final Object other$inCall = other.getInCall();
+        if (this$inCall == null ? other$inCall != null : !this$inCall.equals(other$inCall)) {
+            return false;
+        }
+        final Object this$source = this.getSource();
+        final Object other$source = other.getSource();
+        if (this$source == null ? other$source != null : !this$source.equals(other$source)) {
+            return false;
+        }
+        if (this.isSelected() != other.isSelected()) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof Participant;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $userId = this.getUserId();
+        result = result * PRIME + ($userId == null ? 43 : $userId.hashCode());
+        final Object $type = this.getType();
+        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
+        final Object $name = this.getName();
+        result = result * PRIME + ($name == null ? 43 : $name.hashCode());
+        final Object $displayName = this.getDisplayName();
+        result = result * PRIME + ($displayName == null ? 43 : $displayName.hashCode());
+        final long $lastPing = this.getLastPing();
+        result = result * PRIME + (int) ($lastPing >>> 32 ^ $lastPing);
+        final Object $sessionId = this.getSessionId();
+        result = result * PRIME + ($sessionId == null ? 43 : $sessionId.hashCode());
+        final long $roomId = this.getRoomId();
+        result = result * PRIME + (int) ($roomId >>> 32 ^ $roomId);
+        final Object $inCall = this.getInCall();
+        result = result * PRIME + ($inCall == null ? 43 : $inCall.hashCode());
+        final Object $source = this.getSource();
+        result = result * PRIME + ($source == null ? 43 : $source.hashCode());
+        result = result * PRIME + (this.isSelected() ? 79 : 97);
+        return result;
+    }
+
+    public String toString() {
+        return "Participant(userId=" + this.getUserId() + ", type=" + this.getType() + ", name=" + this.getName() + ", displayName=" + this.getDisplayName() + ", lastPing=" + this.getLastPing() + ", sessionId=" + this.getSessionId() + ", roomId=" + this.getRoomId() + ", inCall=" + this.getInCall() + ", source=" + this.getSource() + ", selected=" + this.isSelected() + ")";
+    }
+
     public enum ParticipantType {
         DUMMY,
         OWNER,

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/participants/ParticipantsOCS.java

@@ -23,15 +23,60 @@ package com.nextcloud.talk.models.json.participants;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.generic.GenericOCS;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 import java.util.List;
 
 @Parcel
-@Data
 @JsonObject
 public class ParticipantsOCS extends GenericOCS {
     @JsonField(name = "data")
     public List<Participant> data;
+
+    public ParticipantsOCS() {
+    }
+
+    public List<Participant> getData() {
+        return this.data;
+    }
+
+    public void setData(List<Participant> data) {
+        this.data = data;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ParticipantsOCS)) {
+            return false;
+        }
+        final ParticipantsOCS other = (ParticipantsOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$data = this.getData();
+        final Object other$data = other.getData();
+        if (this$data == null ? other$data != null : !this$data.equals(other$data)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ParticipantsOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $data = this.getData();
+        result = result * PRIME + ($data == null ? 43 : $data.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ParticipantsOCS(data=" + this.getData() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/participants/ParticipantsOverall.java

@@ -22,13 +22,58 @@ package com.nextcloud.talk.models.json.participants;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject
 public class ParticipantsOverall {
     @JsonField(name = "ocs")
     public ParticipantsOCS ocs;
+
+    public ParticipantsOverall() {
+    }
+
+    public ParticipantsOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(ParticipantsOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ParticipantsOverall)) {
+            return false;
+        }
+        final ParticipantsOverall other = (ParticipantsOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ParticipantsOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ParticipantsOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 172 - 2
app/src/main/java/com/nextcloud/talk/models/json/push/DecryptedPushMessage.java

@@ -23,10 +23,9 @@ package com.nextcloud.talk.models.json.push;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonIgnore;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 @JsonObject
 public class DecryptedPushMessage {
@@ -59,4 +58,175 @@ public class DecryptedPushMessage {
 
     @JsonIgnore
     public long timestamp;
+
+    public DecryptedPushMessage() {
+    }
+
+    public String getApp() {
+        return this.app;
+    }
+
+    public String getType() {
+        return this.type;
+    }
+
+    public String getSubject() {
+        return this.subject;
+    }
+
+    public String getId() {
+        return this.id;
+    }
+
+    public long getNotificationId() {
+        return this.notificationId;
+    }
+
+    public boolean isDelete() {
+        return this.delete;
+    }
+
+    public boolean isDeleteAll() {
+        return this.deleteAll;
+    }
+
+    public NotificationUser getNotificationUser() {
+        return this.notificationUser;
+    }
+
+    public String getText() {
+        return this.text;
+    }
+
+    public long getTimestamp() {
+        return this.timestamp;
+    }
+
+    public void setApp(String app) {
+        this.app = app;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public void setSubject(String subject) {
+        this.subject = subject;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public void setNotificationId(long notificationId) {
+        this.notificationId = notificationId;
+    }
+
+    public void setDelete(boolean delete) {
+        this.delete = delete;
+    }
+
+    public void setDeleteAll(boolean deleteAll) {
+        this.deleteAll = deleteAll;
+    }
+
+    public void setNotificationUser(NotificationUser notificationUser) {
+        this.notificationUser = notificationUser;
+    }
+
+    public void setText(String text) {
+        this.text = text;
+    }
+
+    public void setTimestamp(long timestamp) {
+        this.timestamp = timestamp;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof DecryptedPushMessage)) {
+            return false;
+        }
+        final DecryptedPushMessage other = (DecryptedPushMessage) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$app = this.getApp();
+        final Object other$app = other.getApp();
+        if (this$app == null ? other$app != null : !this$app.equals(other$app)) {
+            return false;
+        }
+        final Object this$type = this.getType();
+        final Object other$type = other.getType();
+        if (this$type == null ? other$type != null : !this$type.equals(other$type)) {
+            return false;
+        }
+        final Object this$subject = this.getSubject();
+        final Object other$subject = other.getSubject();
+        if (this$subject == null ? other$subject != null : !this$subject.equals(other$subject)) {
+            return false;
+        }
+        final Object this$id = this.getId();
+        final Object other$id = other.getId();
+        if (this$id == null ? other$id != null : !this$id.equals(other$id)) {
+            return false;
+        }
+        if (this.getNotificationId() != other.getNotificationId()) {
+            return false;
+        }
+        if (this.isDelete() != other.isDelete()) {
+            return false;
+        }
+        if (this.isDeleteAll() != other.isDeleteAll()) {
+            return false;
+        }
+        final Object this$notificationUser = this.getNotificationUser();
+        final Object other$notificationUser = other.getNotificationUser();
+        if (this$notificationUser == null ? other$notificationUser != null : !this$notificationUser.equals(other$notificationUser)) {
+            return false;
+        }
+        final Object this$text = this.getText();
+        final Object other$text = other.getText();
+        if (this$text == null ? other$text != null : !this$text.equals(other$text)) {
+            return false;
+        }
+        if (this.getTimestamp() != other.getTimestamp()) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof DecryptedPushMessage;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $app = this.getApp();
+        result = result * PRIME + ($app == null ? 43 : $app.hashCode());
+        final Object $type = this.getType();
+        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
+        final Object $subject = this.getSubject();
+        result = result * PRIME + ($subject == null ? 43 : $subject.hashCode());
+        final Object $id = this.getId();
+        result = result * PRIME + ($id == null ? 43 : $id.hashCode());
+        final long $notificationId = this.getNotificationId();
+        result = result * PRIME + (int) ($notificationId >>> 32 ^ $notificationId);
+        result = result * PRIME + (this.isDelete() ? 79 : 97);
+        result = result * PRIME + (this.isDeleteAll() ? 79 : 97);
+        final Object $notificationUser = this.getNotificationUser();
+        result = result * PRIME + ($notificationUser == null ? 43 : $notificationUser.hashCode());
+        final Object $text = this.getText();
+        result = result * PRIME + ($text == null ? 43 : $text.hashCode());
+        final long $timestamp = this.getTimestamp();
+        result = result * PRIME + (int) ($timestamp >>> 32 ^ $timestamp);
+        return result;
+    }
+
+    public String toString() {
+        return "DecryptedPushMessage(app=" + this.getApp() + ", type=" + this.getType() + ", subject=" + this.getSubject() + ", id=" + this.getId() + ", notificationId=" + this.getNotificationId() + ", delete=" + this.isDelete() + ", deleteAll=" + this.isDeleteAll() + ", notificationUser=" + this.getNotificationUser() + ", text=" + this.getText() + ", timestamp=" + this.getTimestamp() + ")";
+    }
 }

+ 77 - 2
app/src/main/java/com/nextcloud/talk/models/json/push/NotificationUser.java

@@ -22,10 +22,9 @@ package com.nextcloud.talk.models.json.push;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 @JsonObject
 public class NotificationUser {
@@ -37,4 +36,80 @@ public class NotificationUser {
 
     @JsonField(name = "name")
     String name;
+
+    public NotificationUser() {
+    }
+
+    public String getType() {
+        return this.type;
+    }
+
+    public String getId() {
+        return this.id;
+    }
+
+    public String getName() {
+        return this.name;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof NotificationUser)) {
+            return false;
+        }
+        final NotificationUser other = (NotificationUser) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$type = this.getType();
+        final Object other$type = other.getType();
+        if (this$type == null ? other$type != null : !this$type.equals(other$type)) {
+            return false;
+        }
+        final Object this$id = this.getId();
+        final Object other$id = other.getId();
+        if (this$id == null ? other$id != null : !this$id.equals(other$id)) {
+            return false;
+        }
+        final Object this$name = this.getName();
+        final Object other$name = other.getName();
+        if (this$name == null ? other$name != null : !this$name.equals(other$name)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof NotificationUser;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $type = this.getType();
+        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
+        final Object $id = this.getId();
+        result = result * PRIME + ($id == null ? 43 : $id.hashCode());
+        final Object $name = this.getName();
+        result = result * PRIME + ($name == null ? 43 : $name.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "NotificationUser(type=" + this.getType() + ", id=" + this.getId() + ", name=" + this.getName() + ")";
+    }
 }

+ 104 - 2
app/src/main/java/com/nextcloud/talk/models/json/push/PushConfigurationState.java

@@ -22,11 +22,10 @@ package com.nextcloud.talk.models.json.push;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject
 public class PushConfigurationState {
     @JsonField(name = "pushToken")
@@ -43,4 +42,107 @@ public class PushConfigurationState {
 
     @JsonField(name = "usesRegularPass")
     public boolean usesRegularPass;
+
+    public PushConfigurationState() {
+    }
+
+    public String getPushToken() {
+        return this.pushToken;
+    }
+
+    public String getDeviceIdentifier() {
+        return this.deviceIdentifier;
+    }
+
+    public String getDeviceIdentifierSignature() {
+        return this.deviceIdentifierSignature;
+    }
+
+    public String getUserPublicKey() {
+        return this.userPublicKey;
+    }
+
+    public boolean isUsesRegularPass() {
+        return this.usesRegularPass;
+    }
+
+    public void setPushToken(String pushToken) {
+        this.pushToken = pushToken;
+    }
+
+    public void setDeviceIdentifier(String deviceIdentifier) {
+        this.deviceIdentifier = deviceIdentifier;
+    }
+
+    public void setDeviceIdentifierSignature(String deviceIdentifierSignature) {
+        this.deviceIdentifierSignature = deviceIdentifierSignature;
+    }
+
+    public void setUserPublicKey(String userPublicKey) {
+        this.userPublicKey = userPublicKey;
+    }
+
+    public void setUsesRegularPass(boolean usesRegularPass) {
+        this.usesRegularPass = usesRegularPass;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof PushConfigurationState)) {
+            return false;
+        }
+        final PushConfigurationState other = (PushConfigurationState) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$pushToken = this.getPushToken();
+        final Object other$pushToken = other.getPushToken();
+        if (this$pushToken == null ? other$pushToken != null : !this$pushToken.equals(other$pushToken)) {
+            return false;
+        }
+        final Object this$deviceIdentifier = this.getDeviceIdentifier();
+        final Object other$deviceIdentifier = other.getDeviceIdentifier();
+        if (this$deviceIdentifier == null ? other$deviceIdentifier != null : !this$deviceIdentifier.equals(other$deviceIdentifier)) {
+            return false;
+        }
+        final Object this$deviceIdentifierSignature = this.getDeviceIdentifierSignature();
+        final Object other$deviceIdentifierSignature = other.getDeviceIdentifierSignature();
+        if (this$deviceIdentifierSignature == null ? other$deviceIdentifierSignature != null : !this$deviceIdentifierSignature.equals(other$deviceIdentifierSignature)) {
+            return false;
+        }
+        final Object this$userPublicKey = this.getUserPublicKey();
+        final Object other$userPublicKey = other.getUserPublicKey();
+        if (this$userPublicKey == null ? other$userPublicKey != null : !this$userPublicKey.equals(other$userPublicKey)) {
+            return false;
+        }
+        if (this.isUsesRegularPass() != other.isUsesRegularPass()) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof PushConfigurationState;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $pushToken = this.getPushToken();
+        result = result * PRIME + ($pushToken == null ? 43 : $pushToken.hashCode());
+        final Object $deviceIdentifier = this.getDeviceIdentifier();
+        result = result * PRIME + ($deviceIdentifier == null ? 43 : $deviceIdentifier.hashCode());
+        final Object $deviceIdentifierSignature = this.getDeviceIdentifierSignature();
+        result = result * PRIME + ($deviceIdentifierSignature == null ? 43 : $deviceIdentifierSignature.hashCode());
+        final Object $userPublicKey = this.getUserPublicKey();
+        result = result * PRIME + ($userPublicKey == null ? 43 : $userPublicKey.hashCode());
+        result = result * PRIME + (this.isUsesRegularPass() ? 79 : 97);
+        return result;
+    }
+
+    public String toString() {
+        return "PushConfigurationState(pushToken=" + this.getPushToken() + ", deviceIdentifier=" + this.getDeviceIdentifier() + ", deviceIdentifierSignature=" + this.getDeviceIdentifierSignature() + ", userPublicKey=" + this.getUserPublicKey() + ", usesRegularPass=" + this.isUsesRegularPass() + ")";
+    }
 }

+ 77 - 2
app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistration.java

@@ -23,10 +23,9 @@ package com.nextcloud.talk.models.json.push;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 @JsonObject
 public class PushRegistration {
@@ -38,5 +37,81 @@ public class PushRegistration {
 
     @JsonField(name = "signature")
     String signature;
+
+    public PushRegistration() {
+    }
+
+    public String getPublicKey() {
+        return this.publicKey;
+    }
+
+    public String getDeviceIdentifier() {
+        return this.deviceIdentifier;
+    }
+
+    public String getSignature() {
+        return this.signature;
+    }
+
+    public void setPublicKey(String publicKey) {
+        this.publicKey = publicKey;
+    }
+
+    public void setDeviceIdentifier(String deviceIdentifier) {
+        this.deviceIdentifier = deviceIdentifier;
+    }
+
+    public void setSignature(String signature) {
+        this.signature = signature;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof PushRegistration)) {
+            return false;
+        }
+        final PushRegistration other = (PushRegistration) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$publicKey = this.getPublicKey();
+        final Object other$publicKey = other.getPublicKey();
+        if (this$publicKey == null ? other$publicKey != null : !this$publicKey.equals(other$publicKey)) {
+            return false;
+        }
+        final Object this$deviceIdentifier = this.getDeviceIdentifier();
+        final Object other$deviceIdentifier = other.getDeviceIdentifier();
+        if (this$deviceIdentifier == null ? other$deviceIdentifier != null : !this$deviceIdentifier.equals(other$deviceIdentifier)) {
+            return false;
+        }
+        final Object this$signature = this.getSignature();
+        final Object other$signature = other.getSignature();
+        if (this$signature == null ? other$signature != null : !this$signature.equals(other$signature)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof PushRegistration;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $publicKey = this.getPublicKey();
+        result = result * PRIME + ($publicKey == null ? 43 : $publicKey.hashCode());
+        final Object $deviceIdentifier = this.getDeviceIdentifier();
+        result = result * PRIME + ($deviceIdentifier == null ? 43 : $deviceIdentifier.hashCode());
+        final Object $signature = this.getSignature();
+        result = result * PRIME + ($signature == null ? 43 : $signature.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "PushRegistration(publicKey=" + this.getPublicKey() + ", deviceIdentifier=" + this.getDeviceIdentifier() + ", signature=" + this.getSignature() + ")";
+    }
 }
 

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistrationOCS.java

@@ -23,13 +23,58 @@ package com.nextcloud.talk.models.json.push;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.generic.GenericOCS;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 @JsonObject
 public class PushRegistrationOCS extends GenericOCS {
     @JsonField(name = "data")
     PushRegistration data;
+
+    public PushRegistrationOCS() {
+    }
+
+    public PushRegistration getData() {
+        return this.data;
+    }
+
+    public void setData(PushRegistration data) {
+        this.data = data;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof PushRegistrationOCS)) {
+            return false;
+        }
+        final PushRegistrationOCS other = (PushRegistrationOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$data = this.getData();
+        final Object other$data = other.getData();
+        if (this$data == null ? other$data != null : !this$data.equals(other$data)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof PushRegistrationOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $data = this.getData();
+        result = result * PRIME + ($data == null ? 43 : $data.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "PushRegistrationOCS(data=" + this.getData() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistrationOverall.java

@@ -22,13 +22,58 @@ package com.nextcloud.talk.models.json.push;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 @JsonObject
 public class PushRegistrationOverall {
     @JsonField(name = "ocs")
     PushRegistrationOCS ocs;
+
+    public PushRegistrationOverall() {
+    }
+
+    public PushRegistrationOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(PushRegistrationOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof PushRegistrationOverall)) {
+            return false;
+        }
+        final PushRegistrationOverall other = (PushRegistrationOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof PushRegistrationOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "PushRegistrationOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 46 - 3
app/src/main/java/com/nextcloud/talk/models/json/search/ContactsByNumberOCS.java

@@ -29,12 +29,55 @@ import org.parceler.Parcel;
 import java.util.HashMap;
 import java.util.Map;
 
-import lombok.Data;
-
-@Data
 @Parcel
 @JsonObject
 public class ContactsByNumberOCS extends GenericOCS {
     @JsonField(name = "data")
     public Map<String, String> map = new HashMap();
+
+    public ContactsByNumberOCS() {
+    }
+
+    public Map<String, String> getMap() {
+        return this.map;
+    }
+
+    public void setMap(Map<String, String> map) {
+        this.map = map;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ContactsByNumberOCS)) {
+            return false;
+        }
+        final ContactsByNumberOCS other = (ContactsByNumberOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$map = this.getMap();
+        final Object other$map = other.getMap();
+        if (this$map == null ? other$map != null : !this$map.equals(other$map)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ContactsByNumberOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $map = this.getMap();
+        result = result * PRIME + ($map == null ? 43 : $map.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ContactsByNumberOCS(map=" + this.getMap() + ")";
+    }
 }

+ 46 - 3
app/src/main/java/com/nextcloud/talk/models/json/search/ContactsByNumberOverall.java

@@ -25,12 +25,55 @@ import com.bluelinelabs.logansquare.annotation.JsonObject;
 
 import org.parceler.Parcel;
 
-import lombok.Data;
-
-@Data
 @Parcel
 @JsonObject
 public class ContactsByNumberOverall {
     @JsonField(name = "ocs")
     public ContactsByNumberOCS ocs;
+
+    public ContactsByNumberOverall() {
+    }
+
+    public ContactsByNumberOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(ContactsByNumberOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ContactsByNumberOverall)) {
+            return false;
+        }
+        final ContactsByNumberOverall other = (ContactsByNumberOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ContactsByNumberOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ContactsByNumberOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/sharees/ExactSharees.java

@@ -22,15 +22,60 @@ package com.nextcloud.talk.models.json.sharees;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 import java.util.List;
 
 @Parcel
-@Data
 @JsonObject
 public class ExactSharees {
     @JsonField(name = "users")
     List<Sharee> exactSharees;
+
+    public ExactSharees() {
+    }
+
+    public List<Sharee> getExactSharees() {
+        return this.exactSharees;
+    }
+
+    public void setExactSharees(List<Sharee> exactSharees) {
+        this.exactSharees = exactSharees;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ExactSharees)) {
+            return false;
+        }
+        final ExactSharees other = (ExactSharees) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$exactSharees = this.getExactSharees();
+        final Object other$exactSharees = other.getExactSharees();
+        if (this$exactSharees == null ? other$exactSharees != null : !this$exactSharees.equals(other$exactSharees)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ExactSharees;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $exactSharees = this.getExactSharees();
+        result = result * PRIME + ($exactSharees == null ? 43 : $exactSharees.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ExactSharees(exactSharees=" + this.getExactSharees() + ")";
+    }
 }

+ 77 - 2
app/src/main/java/com/nextcloud/talk/models/json/sharees/Sharee.java

@@ -22,11 +22,10 @@ package com.nextcloud.talk.models.json.sharees;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject
 public class Sharee {
     @JsonField(name = "id")
@@ -37,4 +36,80 @@ public class Sharee {
 
     @JsonField(name = "label")
     String label;
+
+    public Sharee() {
+    }
+
+    public String getId() {
+        return this.id;
+    }
+
+    public Value getValue() {
+        return this.value;
+    }
+
+    public String getLabel() {
+        return this.label;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public void setValue(Value value) {
+        this.value = value;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof Sharee)) {
+            return false;
+        }
+        final Sharee other = (Sharee) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$id = this.getId();
+        final Object other$id = other.getId();
+        if (this$id == null ? other$id != null : !this$id.equals(other$id)) {
+            return false;
+        }
+        final Object this$value = this.getValue();
+        final Object other$value = other.getValue();
+        if (this$value == null ? other$value != null : !this$value.equals(other$value)) {
+            return false;
+        }
+        final Object this$label = this.getLabel();
+        final Object other$label = other.getLabel();
+        if (this$label == null ? other$label != null : !this$label.equals(other$label)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof Sharee;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $id = this.getId();
+        result = result * PRIME + ($id == null ? 43 : $id.hashCode());
+        final Object $value = this.getValue();
+        result = result * PRIME + ($value == null ? 43 : $value.hashCode());
+        final Object $label = this.getLabel();
+        result = result * PRIME + ($label == null ? 43 : $label.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "Sharee(id=" + this.getId() + ", value=" + this.getValue() + ", label=" + this.getLabel() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/sharees/ShareesOCS.java

@@ -23,13 +23,58 @@ package com.nextcloud.talk.models.json.sharees;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.generic.GenericOCS;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @Parcel
 @JsonObject
 public class ShareesOCS extends GenericOCS {
     @JsonField(name = "data")
     SharesData data;
+
+    public ShareesOCS() {
+    }
+
+    public SharesData getData() {
+        return this.data;
+    }
+
+    public void setData(SharesData data) {
+        this.data = data;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ShareesOCS)) {
+            return false;
+        }
+        final ShareesOCS other = (ShareesOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$data = this.getData();
+        final Object other$data = other.getData();
+        if (this$data == null ? other$data != null : !this$data.equals(other$data)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ShareesOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $data = this.getData();
+        result = result * PRIME + ($data == null ? 43 : $data.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ShareesOCS(data=" + this.getData() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/sharees/ShareesOverall.java

@@ -22,13 +22,58 @@ package com.nextcloud.talk.models.json.sharees;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject
 public class ShareesOverall {
     @JsonField(name = "ocs")
     ShareesOCS ocs;
+
+    public ShareesOverall() {
+    }
+
+    public ShareesOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(ShareesOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ShareesOverall)) {
+            return false;
+        }
+        final ShareesOverall other = (ShareesOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ShareesOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ShareesOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 61 - 2
app/src/main/java/com/nextcloud/talk/models/json/sharees/SharesData.java

@@ -22,13 +22,12 @@ package com.nextcloud.talk.models.json.sharees;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 import java.util.List;
 
 @Parcel
-@Data
 @JsonObject
 public class SharesData {
     @JsonField(name = "users")
@@ -37,4 +36,64 @@ public class SharesData {
     @JsonField(name = "exact")
     ExactSharees exactUsers;
 
+    public SharesData() {
+    }
+
+    public List<Sharee> getUsers() {
+        return this.users;
+    }
+
+    public ExactSharees getExactUsers() {
+        return this.exactUsers;
+    }
+
+    public void setUsers(List<Sharee> users) {
+        this.users = users;
+    }
+
+    public void setExactUsers(ExactSharees exactUsers) {
+        this.exactUsers = exactUsers;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof SharesData)) {
+            return false;
+        }
+        final SharesData other = (SharesData) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$users = this.getUsers();
+        final Object other$users = other.getUsers();
+        if (this$users == null ? other$users != null : !this$users.equals(other$users)) {
+            return false;
+        }
+        final Object this$exactUsers = this.getExactUsers();
+        final Object other$exactUsers = other.getExactUsers();
+        if (this$exactUsers == null ? other$exactUsers != null : !this$exactUsers.equals(other$exactUsers)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof SharesData;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $users = this.getUsers();
+        result = result * PRIME + ($users == null ? 43 : $users.hashCode());
+        final Object $exactUsers = this.getExactUsers();
+        result = result * PRIME + ($exactUsers == null ? 43 : $exactUsers.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "SharesData(users=" + this.getUsers() + ", exactUsers=" + this.getExactUsers() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/sharees/Value.java

@@ -22,13 +22,58 @@ package com.nextcloud.talk.models.json.sharees;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject
 public class Value {
     @JsonField(name = "shareWith")
     String shareWith;
+
+    public Value() {
+    }
+
+    public String getShareWith() {
+        return this.shareWith;
+    }
+
+    public void setShareWith(String shareWith) {
+        this.shareWith = shareWith;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof Value)) {
+            return false;
+        }
+        final Value other = (Value) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$shareWith = this.getShareWith();
+        final Object other$shareWith = other.getShareWith();
+        if (this$shareWith == null ? other$shareWith != null : !this$shareWith.equals(other$shareWith)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof Value;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $shareWith = this.getShareWith();
+        result = result * PRIME + ($shareWith == null ? 43 : $shareWith.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "Value(shareWith=" + this.getShareWith() + ")";
+    }
 }

+ 59 - 2
app/src/main/java/com/nextcloud/talk/models/json/signaling/DataChannelMessage.java

@@ -23,10 +23,9 @@ package com.nextcloud.talk.models.json.signaling;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.converters.ObjectParcelConverter;
-import lombok.Data;
+
 import org.parceler.ParcelPropertyConverter;
 
-@Data
 @JsonObject
 public class DataChannelMessage {
     @JsonField(name = "type")
@@ -42,4 +41,62 @@ public class DataChannelMessage {
 
     public DataChannelMessage() {
     }
+
+    public String getType() {
+        return this.type;
+    }
+
+    public Object getPayload() {
+        return this.payload;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public void setPayload(Object payload) {
+        this.payload = payload;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof DataChannelMessage)) {
+            return false;
+        }
+        final DataChannelMessage other = (DataChannelMessage) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$type = this.getType();
+        final Object other$type = other.getType();
+        if (this$type == null ? other$type != null : !this$type.equals(other$type)) {
+            return false;
+        }
+        final Object this$payload = this.getPayload();
+        final Object other$payload = other.getPayload();
+        if (this$payload == null ? other$payload != null : !this$payload.equals(other$payload)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof DataChannelMessage;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $type = this.getType();
+        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
+        final Object $payload = this.getPayload();
+        result = result * PRIME + ($payload == null ? 43 : $payload.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "DataChannelMessage(type=" + this.getType() + ", payload=" + this.getPayload() + ")";
+    }
 }

+ 59 - 2
app/src/main/java/com/nextcloud/talk/models/json/signaling/DataChannelMessageNick.java

@@ -23,12 +23,11 @@ package com.nextcloud.talk.models.json.signaling;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.converters.ObjectParcelConverter;
-import lombok.Data;
+
 import org.parceler.ParcelPropertyConverter;
 
 import java.util.HashMap;
 
-@Data
 @JsonObject
 public class DataChannelMessageNick {
     @JsonField(name = "type")
@@ -44,4 +43,62 @@ public class DataChannelMessageNick {
 
     public DataChannelMessageNick() {
     }
+
+    public String getType() {
+        return this.type;
+    }
+
+    public HashMap<String, String> getPayload() {
+        return this.payload;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public void setPayload(HashMap<String, String> payload) {
+        this.payload = payload;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof DataChannelMessageNick)) {
+            return false;
+        }
+        final DataChannelMessageNick other = (DataChannelMessageNick) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$type = this.getType();
+        final Object other$type = other.getType();
+        if (this$type == null ? other$type != null : !this$type.equals(other$type)) {
+            return false;
+        }
+        final Object this$payload = this.getPayload();
+        final Object other$payload = other.getPayload();
+        if (this$payload == null ? other$payload != null : !this$payload.equals(other$payload)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof DataChannelMessageNick;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $type = this.getType();
+        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
+        final Object $payload = this.getPayload();
+        result = result * PRIME + ($payload == null ? 43 : $payload.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "DataChannelMessageNick(type=" + this.getType() + ", payload=" + this.getPayload() + ")";
+    }
 }

+ 74 - 2
app/src/main/java/com/nextcloud/talk/models/json/signaling/NCIceCandidate.java

@@ -22,10 +22,9 @@ package com.nextcloud.talk.models.json.signaling;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @JsonObject
 @Parcel
 public class NCIceCandidate {
@@ -37,4 +36,77 @@ public class NCIceCandidate {
 
     @JsonField(name = "candidate")
     String candidate;
+
+    public NCIceCandidate() {
+    }
+
+    public int getSdpMLineIndex() {
+        return this.sdpMLineIndex;
+    }
+
+    public String getSdpMid() {
+        return this.sdpMid;
+    }
+
+    public String getCandidate() {
+        return this.candidate;
+    }
+
+    public void setSdpMLineIndex(int sdpMLineIndex) {
+        this.sdpMLineIndex = sdpMLineIndex;
+    }
+
+    public void setSdpMid(String sdpMid) {
+        this.sdpMid = sdpMid;
+    }
+
+    public void setCandidate(String candidate) {
+        this.candidate = candidate;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof NCIceCandidate)) {
+            return false;
+        }
+        final NCIceCandidate other = (NCIceCandidate) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        if (this.getSdpMLineIndex() != other.getSdpMLineIndex()) {
+            return false;
+        }
+        final Object this$sdpMid = this.getSdpMid();
+        final Object other$sdpMid = other.getSdpMid();
+        if (this$sdpMid == null ? other$sdpMid != null : !this$sdpMid.equals(other$sdpMid)) {
+            return false;
+        }
+        final Object this$candidate = this.getCandidate();
+        final Object other$candidate = other.getCandidate();
+        if (this$candidate == null ? other$candidate != null : !this$candidate.equals(other$candidate)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof NCIceCandidate;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        result = result * PRIME + this.getSdpMLineIndex();
+        final Object $sdpMid = this.getSdpMid();
+        result = result * PRIME + ($sdpMid == null ? 43 : $sdpMid.hashCode());
+        final Object $candidate = this.getCandidate();
+        result = result * PRIME + ($candidate == null ? 43 : $candidate.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "NCIceCandidate(sdpMLineIndex=" + this.getSdpMLineIndex() + ", sdpMid=" + this.getSdpMid() + ", candidate=" + this.getCandidate() + ")";
+    }
 }

+ 107 - 2
app/src/main/java/com/nextcloud/talk/models/json/signaling/NCMessagePayload.java

@@ -22,10 +22,9 @@ package com.nextcloud.talk.models.json.signaling;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @JsonObject
 @Parcel
 public class NCMessagePayload {
@@ -43,4 +42,110 @@ public class NCMessagePayload {
 
     @JsonField(name = "name")
     String name;
+
+    public NCMessagePayload() {
+    }
+
+    public String getType() {
+        return this.type;
+    }
+
+    public String getSdp() {
+        return this.sdp;
+    }
+
+    public String getNick() {
+        return this.nick;
+    }
+
+    public NCIceCandidate getIceCandidate() {
+        return this.iceCandidate;
+    }
+
+    public String getName() {
+        return this.name;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public void setSdp(String sdp) {
+        this.sdp = sdp;
+    }
+
+    public void setNick(String nick) {
+        this.nick = nick;
+    }
+
+    public void setIceCandidate(NCIceCandidate iceCandidate) {
+        this.iceCandidate = iceCandidate;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof NCMessagePayload)) {
+            return false;
+        }
+        final NCMessagePayload other = (NCMessagePayload) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$type = this.getType();
+        final Object other$type = other.getType();
+        if (this$type == null ? other$type != null : !this$type.equals(other$type)) {
+            return false;
+        }
+        final Object this$sdp = this.getSdp();
+        final Object other$sdp = other.getSdp();
+        if (this$sdp == null ? other$sdp != null : !this$sdp.equals(other$sdp)) {
+            return false;
+        }
+        final Object this$nick = this.getNick();
+        final Object other$nick = other.getNick();
+        if (this$nick == null ? other$nick != null : !this$nick.equals(other$nick)) {
+            return false;
+        }
+        final Object this$iceCandidate = this.getIceCandidate();
+        final Object other$iceCandidate = other.getIceCandidate();
+        if (this$iceCandidate == null ? other$iceCandidate != null : !this$iceCandidate.equals(other$iceCandidate)) {
+            return false;
+        }
+        final Object this$name = this.getName();
+        final Object other$name = other.getName();
+        if (this$name == null ? other$name != null : !this$name.equals(other$name)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof NCMessagePayload;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $type = this.getType();
+        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
+        final Object $sdp = this.getSdp();
+        result = result * PRIME + ($sdp == null ? 43 : $sdp.hashCode());
+        final Object $nick = this.getNick();
+        result = result * PRIME + ($nick == null ? 43 : $nick.hashCode());
+        final Object $iceCandidate = this.getIceCandidate();
+        result = result * PRIME + ($iceCandidate == null ? 43 : $iceCandidate.hashCode());
+        final Object $name = this.getName();
+        result = result * PRIME + ($name == null ? 43 : $name.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "NCMessagePayload(type=" + this.getType() + ", sdp=" + this.getSdp() + ", nick=" + this.getNick() + ", iceCandidate=" + this.getIceCandidate() + ", name=" + this.getName() + ")";
+    }
 }

+ 77 - 2
app/src/main/java/com/nextcloud/talk/models/json/signaling/NCMessageWrapper.java

@@ -22,10 +22,9 @@ package com.nextcloud.talk.models.json.signaling;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @JsonObject
 @Parcel
 public class NCMessageWrapper {
@@ -38,4 +37,80 @@ public class NCMessageWrapper {
 
     @JsonField(name = "sessionId")
     String sessionId;
+
+    public NCMessageWrapper() {
+    }
+
+    public NCSignalingMessage getSignalingMessage() {
+        return this.signalingMessage;
+    }
+
+    public String getEv() {
+        return this.ev;
+    }
+
+    public String getSessionId() {
+        return this.sessionId;
+    }
+
+    public void setSignalingMessage(NCSignalingMessage signalingMessage) {
+        this.signalingMessage = signalingMessage;
+    }
+
+    public void setEv(String ev) {
+        this.ev = ev;
+    }
+
+    public void setSessionId(String sessionId) {
+        this.sessionId = sessionId;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof NCMessageWrapper)) {
+            return false;
+        }
+        final NCMessageWrapper other = (NCMessageWrapper) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$signalingMessage = this.getSignalingMessage();
+        final Object other$signalingMessage = other.getSignalingMessage();
+        if (this$signalingMessage == null ? other$signalingMessage != null : !this$signalingMessage.equals(other$signalingMessage)) {
+            return false;
+        }
+        final Object this$ev = this.getEv();
+        final Object other$ev = other.getEv();
+        if (this$ev == null ? other$ev != null : !this$ev.equals(other$ev)) {
+            return false;
+        }
+        final Object this$sessionId = this.getSessionId();
+        final Object other$sessionId = other.getSessionId();
+        if (this$sessionId == null ? other$sessionId != null : !this$sessionId.equals(other$sessionId)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof NCMessageWrapper;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $signalingMessage = this.getSignalingMessage();
+        result = result * PRIME + ($signalingMessage == null ? 43 : $signalingMessage.hashCode());
+        final Object $ev = this.getEv();
+        result = result * PRIME + ($ev == null ? 43 : $ev.hashCode());
+        final Object $sessionId = this.getSessionId();
+        result = result * PRIME + ($sessionId == null ? 43 : $sessionId.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "NCMessageWrapper(signalingMessage=" + this.getSignalingMessage() + ", ev=" + this.getEv() + ", sessionId=" + this.getSessionId() + ")";
+    }
 }

+ 137 - 2
app/src/main/java/com/nextcloud/talk/models/json/signaling/NCSignalingMessage.java

@@ -22,10 +22,9 @@ package com.nextcloud.talk.models.json.signaling;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @JsonObject
 @Parcel
 public class NCSignalingMessage {
@@ -43,4 +42,140 @@ public class NCSignalingMessage {
     String sid;
     @JsonField(name = "prefix")
     String prefix;
+
+    public NCSignalingMessage() {
+    }
+
+    public String getFrom() {
+        return this.from;
+    }
+
+    public String getTo() {
+        return this.to;
+    }
+
+    public String getType() {
+        return this.type;
+    }
+
+    public NCMessagePayload getPayload() {
+        return this.payload;
+    }
+
+    public String getRoomType() {
+        return this.roomType;
+    }
+
+    public String getSid() {
+        return this.sid;
+    }
+
+    public String getPrefix() {
+        return this.prefix;
+    }
+
+    public void setFrom(String from) {
+        this.from = from;
+    }
+
+    public void setTo(String to) {
+        this.to = to;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public void setPayload(NCMessagePayload payload) {
+        this.payload = payload;
+    }
+
+    public void setRoomType(String roomType) {
+        this.roomType = roomType;
+    }
+
+    public void setSid(String sid) {
+        this.sid = sid;
+    }
+
+    public void setPrefix(String prefix) {
+        this.prefix = prefix;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof NCSignalingMessage)) {
+            return false;
+        }
+        final NCSignalingMessage other = (NCSignalingMessage) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$from = this.getFrom();
+        final Object other$from = other.getFrom();
+        if (this$from == null ? other$from != null : !this$from.equals(other$from)) {
+            return false;
+        }
+        final Object this$to = this.getTo();
+        final Object other$to = other.getTo();
+        if (this$to == null ? other$to != null : !this$to.equals(other$to)) {
+            return false;
+        }
+        final Object this$type = this.getType();
+        final Object other$type = other.getType();
+        if (this$type == null ? other$type != null : !this$type.equals(other$type)) {
+            return false;
+        }
+        final Object this$payload = this.getPayload();
+        final Object other$payload = other.getPayload();
+        if (this$payload == null ? other$payload != null : !this$payload.equals(other$payload)) {
+            return false;
+        }
+        final Object this$roomType = this.getRoomType();
+        final Object other$roomType = other.getRoomType();
+        if (this$roomType == null ? other$roomType != null : !this$roomType.equals(other$roomType)) {
+            return false;
+        }
+        final Object this$sid = this.getSid();
+        final Object other$sid = other.getSid();
+        if (this$sid == null ? other$sid != null : !this$sid.equals(other$sid)) {
+            return false;
+        }
+        final Object this$prefix = this.getPrefix();
+        final Object other$prefix = other.getPrefix();
+        if (this$prefix == null ? other$prefix != null : !this$prefix.equals(other$prefix)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof NCSignalingMessage;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $from = this.getFrom();
+        result = result * PRIME + ($from == null ? 43 : $from.hashCode());
+        final Object $to = this.getTo();
+        result = result * PRIME + ($to == null ? 43 : $to.hashCode());
+        final Object $type = this.getType();
+        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
+        final Object $payload = this.getPayload();
+        result = result * PRIME + ($payload == null ? 43 : $payload.hashCode());
+        final Object $roomType = this.getRoomType();
+        result = result * PRIME + ($roomType == null ? 43 : $roomType.hashCode());
+        final Object $sid = this.getSid();
+        result = result * PRIME + ($sid == null ? 43 : $sid.hashCode());
+        final Object $prefix = this.getPrefix();
+        result = result * PRIME + ($prefix == null ? 43 : $prefix.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "NCSignalingMessage(from=" + this.getFrom() + ", to=" + this.getTo() + ", type=" + this.getType() + ", payload=" + this.getPayload() + ", roomType=" + this.getRoomType() + ", sid=" + this.getSid() + ", prefix=" + this.getPrefix() + ")";
+    }
 }

+ 61 - 2
app/src/main/java/com/nextcloud/talk/models/json/signaling/Signaling.java

@@ -22,13 +22,11 @@ package com.nextcloud.talk.models.json.signaling;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
 
 /**
  * Created by mdjanic on 30/10/2017.
  */
 
-@Data
 @JsonObject
 public class Signaling {
     @JsonField(name = "type")
@@ -36,4 +34,65 @@ public class Signaling {
     //can be NCMessageWrapper or List<HashMap<String,String>>
     @JsonField(name = "data")
     Object messageWrapper;
+
+    public Signaling() {
+    }
+
+    public String getType() {
+        return this.type;
+    }
+
+    public Object getMessageWrapper() {
+        return this.messageWrapper;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public void setMessageWrapper(Object messageWrapper) {
+        this.messageWrapper = messageWrapper;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof Signaling)) {
+            return false;
+        }
+        final Signaling other = (Signaling) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$type = this.getType();
+        final Object other$type = other.getType();
+        if (this$type == null ? other$type != null : !this$type.equals(other$type)) {
+            return false;
+        }
+        final Object this$messageWrapper = this.getMessageWrapper();
+        final Object other$messageWrapper = other.getMessageWrapper();
+        if (this$messageWrapper == null ? other$messageWrapper != null : !this$messageWrapper.equals(other$messageWrapper)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof Signaling;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $type = this.getType();
+        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
+        final Object $messageWrapper = this.getMessageWrapper();
+        result = result * PRIME + ($messageWrapper == null ? 43 : $messageWrapper.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "Signaling(type=" + this.getType() + ", messageWrapper=" + this.getMessageWrapper() + ")";
+    }
 }

+ 46 - 2
app/src/main/java/com/nextcloud/talk/models/json/signaling/SignalingOCS.java

@@ -23,13 +23,57 @@ package com.nextcloud.talk.models.json.signaling;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.generic.GenericOCS;
-import lombok.Data;
 
 import java.util.List;
 
-@Data
 @JsonObject
 public class SignalingOCS extends GenericOCS {
     @JsonField(name = "data")
     List<Signaling> signalings;
+
+    public SignalingOCS() {
+    }
+
+    public List<Signaling> getSignalings() {
+        return this.signalings;
+    }
+
+    public void setSignalings(List<Signaling> signalings) {
+        this.signalings = signalings;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof SignalingOCS)) {
+            return false;
+        }
+        final SignalingOCS other = (SignalingOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$signalings = this.getSignalings();
+        final Object other$signalings = other.getSignalings();
+        if (this$signalings == null ? other$signalings != null : !this$signalings.equals(other$signalings)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof SignalingOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $signalings = this.getSignalings();
+        result = result * PRIME + ($signalings == null ? 43 : $signalings.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "SignalingOCS(signalings=" + this.getSignalings() + ")";
+    }
 }

+ 46 - 2
app/src/main/java/com/nextcloud/talk/models/json/signaling/SignalingOverall.java

@@ -22,11 +22,55 @@ package com.nextcloud.talk.models.json.signaling;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
 
 @JsonObject
-@Data
 public class SignalingOverall {
     @JsonField(name = "ocs")
     SignalingOCS ocs;
+
+    public SignalingOverall() {
+    }
+
+    public SignalingOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(SignalingOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof SignalingOverall)) {
+            return false;
+        }
+        final SignalingOverall other = (SignalingOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof SignalingOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "SignalingOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 91 - 2
app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/IceServer.java

@@ -22,11 +22,9 @@ package com.nextcloud.talk.models.json.signaling.settings;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
 
 import java.util.List;
 
-@Data
 @JsonObject
 public class IceServer {
     @JsonField(name = "url")
@@ -40,4 +38,95 @@ public class IceServer {
 
     @JsonField(name = "credential")
     String credential;
+
+    public IceServer() {
+    }
+
+    public String getUrl() {
+        return this.url;
+    }
+
+    public List<String> getUrls() {
+        return this.urls;
+    }
+
+    public String getUsername() {
+        return this.username;
+    }
+
+    public String getCredential() {
+        return this.credential;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public void setUrls(List<String> urls) {
+        this.urls = urls;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public void setCredential(String credential) {
+        this.credential = credential;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof IceServer)) {
+            return false;
+        }
+        final IceServer other = (IceServer) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$url = this.getUrl();
+        final Object other$url = other.getUrl();
+        if (this$url == null ? other$url != null : !this$url.equals(other$url)) {
+            return false;
+        }
+        final Object this$urls = this.getUrls();
+        final Object other$urls = other.getUrls();
+        if (this$urls == null ? other$urls != null : !this$urls.equals(other$urls)) {
+            return false;
+        }
+        final Object this$username = this.getUsername();
+        final Object other$username = other.getUsername();
+        if (this$username == null ? other$username != null : !this$username.equals(other$username)) {
+            return false;
+        }
+        final Object this$credential = this.getCredential();
+        final Object other$credential = other.getCredential();
+        if (this$credential == null ? other$credential != null : !this$credential.equals(other$credential)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof IceServer;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $url = this.getUrl();
+        result = result * PRIME + ($url == null ? 43 : $url.hashCode());
+        final Object $urls = this.getUrls();
+        result = result * PRIME + ($urls == null ? 43 : $urls.hashCode());
+        final Object $username = this.getUsername();
+        result = result * PRIME + ($username == null ? 43 : $username.hashCode());
+        final Object $credential = this.getCredential();
+        result = result * PRIME + ($credential == null ? 43 : $credential.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "IceServer(url=" + this.getUrl() + ", urls=" + this.getUrls() + ", username=" + this.getUsername() + ", credential=" + this.getCredential() + ")";
+    }
 }

+ 91 - 2
app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/Settings.java

@@ -22,11 +22,9 @@ package com.nextcloud.talk.models.json.signaling.settings;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
 
 import java.util.List;
 
-@Data
 @JsonObject
 public class Settings {
     @JsonField(name = "stunservers")
@@ -40,4 +38,95 @@ public class Settings {
 
     @JsonField(name = "ticket")
     String externalSignalingTicket;
+
+    public Settings() {
+    }
+
+    public List<IceServer> getStunServers() {
+        return this.stunServers;
+    }
+
+    public List<IceServer> getTurnServers() {
+        return this.turnServers;
+    }
+
+    public String getExternalSignalingServer() {
+        return this.externalSignalingServer;
+    }
+
+    public String getExternalSignalingTicket() {
+        return this.externalSignalingTicket;
+    }
+
+    public void setStunServers(List<IceServer> stunServers) {
+        this.stunServers = stunServers;
+    }
+
+    public void setTurnServers(List<IceServer> turnServers) {
+        this.turnServers = turnServers;
+    }
+
+    public void setExternalSignalingServer(String externalSignalingServer) {
+        this.externalSignalingServer = externalSignalingServer;
+    }
+
+    public void setExternalSignalingTicket(String externalSignalingTicket) {
+        this.externalSignalingTicket = externalSignalingTicket;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof Settings)) {
+            return false;
+        }
+        final Settings other = (Settings) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$stunServers = this.getStunServers();
+        final Object other$stunServers = other.getStunServers();
+        if (this$stunServers == null ? other$stunServers != null : !this$stunServers.equals(other$stunServers)) {
+            return false;
+        }
+        final Object this$turnServers = this.getTurnServers();
+        final Object other$turnServers = other.getTurnServers();
+        if (this$turnServers == null ? other$turnServers != null : !this$turnServers.equals(other$turnServers)) {
+            return false;
+        }
+        final Object this$externalSignalingServer = this.getExternalSignalingServer();
+        final Object other$externalSignalingServer = other.getExternalSignalingServer();
+        if (this$externalSignalingServer == null ? other$externalSignalingServer != null : !this$externalSignalingServer.equals(other$externalSignalingServer)) {
+            return false;
+        }
+        final Object this$externalSignalingTicket = this.getExternalSignalingTicket();
+        final Object other$externalSignalingTicket = other.getExternalSignalingTicket();
+        if (this$externalSignalingTicket == null ? other$externalSignalingTicket != null : !this$externalSignalingTicket.equals(other$externalSignalingTicket)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof Settings;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $stunServers = this.getStunServers();
+        result = result * PRIME + ($stunServers == null ? 43 : $stunServers.hashCode());
+        final Object $turnServers = this.getTurnServers();
+        result = result * PRIME + ($turnServers == null ? 43 : $turnServers.hashCode());
+        final Object $externalSignalingServer = this.getExternalSignalingServer();
+        result = result * PRIME + ($externalSignalingServer == null ? 43 : $externalSignalingServer.hashCode());
+        final Object $externalSignalingTicket = this.getExternalSignalingTicket();
+        result = result * PRIME + ($externalSignalingTicket == null ? 43 : $externalSignalingTicket.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "Settings(stunServers=" + this.getStunServers() + ", turnServers=" + this.getTurnServers() + ", externalSignalingServer=" + this.getExternalSignalingServer() + ", externalSignalingTicket=" + this.getExternalSignalingTicket() + ")";
+    }
 }

+ 46 - 2
app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettingsOcs.java

@@ -23,11 +23,55 @@ package com.nextcloud.talk.models.json.signaling.settings;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.generic.GenericOCS;
-import lombok.Data;
 
-@Data
 @JsonObject
 public class SignalingSettingsOcs extends GenericOCS {
     @JsonField(name = "data")
     Settings settings;
+
+    public SignalingSettingsOcs() {
+    }
+
+    public Settings getSettings() {
+        return this.settings;
+    }
+
+    public void setSettings(Settings settings) {
+        this.settings = settings;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof SignalingSettingsOcs)) {
+            return false;
+        }
+        final SignalingSettingsOcs other = (SignalingSettingsOcs) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$settings = this.getSettings();
+        final Object other$settings = other.getSettings();
+        if (this$settings == null ? other$settings != null : !this$settings.equals(other$settings)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof SignalingSettingsOcs;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $settings = this.getSettings();
+        result = result * PRIME + ($settings == null ? 43 : $settings.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "SignalingSettingsOcs(settings=" + this.getSettings() + ")";
+    }
 }

+ 46 - 2
app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettingsOverall.java

@@ -22,11 +22,55 @@ package com.nextcloud.talk.models.json.signaling.settings;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
 
-@Data
 @JsonObject
 public class SignalingSettingsOverall {
     @JsonField(name = "ocs")
     SignalingSettingsOcs ocs;
+
+    public SignalingSettingsOverall() {
+    }
+
+    public SignalingSettingsOcs getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(SignalingSettingsOcs ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof SignalingSettingsOverall)) {
+            return false;
+        }
+        final SignalingSettingsOverall other = (SignalingSettingsOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof SignalingSettingsOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "SignalingSettingsOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 241 - 3
app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileData.java

@@ -27,10 +27,7 @@ import com.nextcloud.talk.models.json.converters.ScopeConverter;
 
 import org.parceler.Parcel;
 
-import lombok.Data;
-
 @Parcel
-@Data
 @JsonObject()
 public class UserProfileData {
     @JsonField(name = "display-name")
@@ -75,6 +72,9 @@ public class UserProfileData {
     @JsonField(name = "websiteScope", typeConverter = ScopeConverter.class)
     Scope websiteScope;
 
+    public UserProfileData() {
+    }
+
     public String getValueByField(ProfileController.Field field) {
         switch (field) {
             case EMAIL:
@@ -112,4 +112,242 @@ public class UserProfileData {
                 return null;
         }
     }
+
+    public String getDisplayName() {
+        return this.displayName;
+    }
+
+    public Scope getDisplayNameScope() {
+        return this.displayNameScope;
+    }
+
+    public String getDisplayNameAlt() {
+        return this.displayNameAlt;
+    }
+
+    public String getUserId() {
+        return this.userId;
+    }
+
+    public String getPhone() {
+        return this.phone;
+    }
+
+    public Scope getPhoneScope() {
+        return this.phoneScope;
+    }
+
+    public String getEmail() {
+        return this.email;
+    }
+
+    public Scope getEmailScope() {
+        return this.emailScope;
+    }
+
+    public String getAddress() {
+        return this.address;
+    }
+
+    public Scope getAddressScope() {
+        return this.addressScope;
+    }
+
+    public String getTwitter() {
+        return this.twitter;
+    }
+
+    public Scope getTwitterScope() {
+        return this.twitterScope;
+    }
+
+    public String getWebsite() {
+        return this.website;
+    }
+
+    public Scope getWebsiteScope() {
+        return this.websiteScope;
+    }
+
+    public void setDisplayName(String displayName) {
+        this.displayName = displayName;
+    }
+
+    public void setDisplayNameScope(Scope displayNameScope) {
+        this.displayNameScope = displayNameScope;
+    }
+
+    public void setDisplayNameAlt(String displayNameAlt) {
+        this.displayNameAlt = displayNameAlt;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public void setPhoneScope(Scope phoneScope) {
+        this.phoneScope = phoneScope;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public void setEmailScope(Scope emailScope) {
+        this.emailScope = emailScope;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public void setAddressScope(Scope addressScope) {
+        this.addressScope = addressScope;
+    }
+
+    public void setTwitter(String twitter) {
+        this.twitter = twitter;
+    }
+
+    public void setTwitterScope(Scope twitterScope) {
+        this.twitterScope = twitterScope;
+    }
+
+    public void setWebsite(String website) {
+        this.website = website;
+    }
+
+    public void setWebsiteScope(Scope websiteScope) {
+        this.websiteScope = websiteScope;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof UserProfileData)) {
+            return false;
+        }
+        final UserProfileData other = (UserProfileData) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$displayName = this.getDisplayName();
+        final Object other$displayName = other.getDisplayName();
+        if (this$displayName == null ? other$displayName != null : !this$displayName.equals(other$displayName)) {
+            return false;
+        }
+        final Object this$displayNameScope = this.getDisplayNameScope();
+        final Object other$displayNameScope = other.getDisplayNameScope();
+        if (this$displayNameScope == null ? other$displayNameScope != null : !this$displayNameScope.equals(other$displayNameScope)) {
+            return false;
+        }
+        final Object this$displayNameAlt = this.getDisplayNameAlt();
+        final Object other$displayNameAlt = other.getDisplayNameAlt();
+        if (this$displayNameAlt == null ? other$displayNameAlt != null : !this$displayNameAlt.equals(other$displayNameAlt)) {
+            return false;
+        }
+        final Object this$userId = this.getUserId();
+        final Object other$userId = other.getUserId();
+        if (this$userId == null ? other$userId != null : !this$userId.equals(other$userId)) {
+            return false;
+        }
+        final Object this$phone = this.getPhone();
+        final Object other$phone = other.getPhone();
+        if (this$phone == null ? other$phone != null : !this$phone.equals(other$phone)) {
+            return false;
+        }
+        final Object this$phoneScope = this.getPhoneScope();
+        final Object other$phoneScope = other.getPhoneScope();
+        if (this$phoneScope == null ? other$phoneScope != null : !this$phoneScope.equals(other$phoneScope)) {
+            return false;
+        }
+        final Object this$email = this.getEmail();
+        final Object other$email = other.getEmail();
+        if (this$email == null ? other$email != null : !this$email.equals(other$email)) {
+            return false;
+        }
+        final Object this$emailScope = this.getEmailScope();
+        final Object other$emailScope = other.getEmailScope();
+        if (this$emailScope == null ? other$emailScope != null : !this$emailScope.equals(other$emailScope)) {
+            return false;
+        }
+        final Object this$address = this.getAddress();
+        final Object other$address = other.getAddress();
+        if (this$address == null ? other$address != null : !this$address.equals(other$address)) {
+            return false;
+        }
+        final Object this$addressScope = this.getAddressScope();
+        final Object other$addressScope = other.getAddressScope();
+        if (this$addressScope == null ? other$addressScope != null : !this$addressScope.equals(other$addressScope)) {
+            return false;
+        }
+        final Object this$twitter = this.getTwitter();
+        final Object other$twitter = other.getTwitter();
+        if (this$twitter == null ? other$twitter != null : !this$twitter.equals(other$twitter)) {
+            return false;
+        }
+        final Object this$twitterScope = this.getTwitterScope();
+        final Object other$twitterScope = other.getTwitterScope();
+        if (this$twitterScope == null ? other$twitterScope != null : !this$twitterScope.equals(other$twitterScope)) {
+            return false;
+        }
+        final Object this$website = this.getWebsite();
+        final Object other$website = other.getWebsite();
+        if (this$website == null ? other$website != null : !this$website.equals(other$website)) {
+            return false;
+        }
+        final Object this$websiteScope = this.getWebsiteScope();
+        final Object other$websiteScope = other.getWebsiteScope();
+        if (this$websiteScope == null ? other$websiteScope != null : !this$websiteScope.equals(other$websiteScope)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof UserProfileData;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $displayName = this.getDisplayName();
+        result = result * PRIME + ($displayName == null ? 43 : $displayName.hashCode());
+        final Object $displayNameScope = this.getDisplayNameScope();
+        result = result * PRIME + ($displayNameScope == null ? 43 : $displayNameScope.hashCode());
+        final Object $displayNameAlt = this.getDisplayNameAlt();
+        result = result * PRIME + ($displayNameAlt == null ? 43 : $displayNameAlt.hashCode());
+        final Object $userId = this.getUserId();
+        result = result * PRIME + ($userId == null ? 43 : $userId.hashCode());
+        final Object $phone = this.getPhone();
+        result = result * PRIME + ($phone == null ? 43 : $phone.hashCode());
+        final Object $phoneScope = this.getPhoneScope();
+        result = result * PRIME + ($phoneScope == null ? 43 : $phoneScope.hashCode());
+        final Object $email = this.getEmail();
+        result = result * PRIME + ($email == null ? 43 : $email.hashCode());
+        final Object $emailScope = this.getEmailScope();
+        result = result * PRIME + ($emailScope == null ? 43 : $emailScope.hashCode());
+        final Object $address = this.getAddress();
+        result = result * PRIME + ($address == null ? 43 : $address.hashCode());
+        final Object $addressScope = this.getAddressScope();
+        result = result * PRIME + ($addressScope == null ? 43 : $addressScope.hashCode());
+        final Object $twitter = this.getTwitter();
+        result = result * PRIME + ($twitter == null ? 43 : $twitter.hashCode());
+        final Object $twitterScope = this.getTwitterScope();
+        result = result * PRIME + ($twitterScope == null ? 43 : $twitterScope.hashCode());
+        final Object $website = this.getWebsite();
+        result = result * PRIME + ($website == null ? 43 : $website.hashCode());
+        final Object $websiteScope = this.getWebsiteScope();
+        result = result * PRIME + ($websiteScope == null ? 43 : $websiteScope.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "UserProfileData(displayName=" + this.getDisplayName() + ", displayNameScope=" + this.getDisplayNameScope() + ", displayNameAlt=" + this.getDisplayNameAlt() + ", userId=" + this.getUserId() + ", phone=" + this.getPhone() + ", phoneScope=" + this.getPhoneScope() + ", email=" + this.getEmail() + ", emailScope=" + this.getEmailScope() + ", address=" + this.getAddress() + ", addressScope=" + this.getAddressScope() + ", twitter=" + this.getTwitter() + ", twitterScope=" + this.getTwitterScope() + ", website=" + this.getWebsite() + ", websiteScope=" + this.getWebsiteScope() + ")";
+    }
 }

+ 49 - 5
app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileFieldsOCS.java

@@ -28,14 +28,58 @@ import org.parceler.Parcel;
 
 import java.util.ArrayList;
 
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-@EqualsAndHashCode(callSuper = true)
 @Parcel
-@Data
 @JsonObject
 public class UserProfileFieldsOCS extends GenericOCS {
     @JsonField(name = "data")
     ArrayList<String> data;
+
+    public UserProfileFieldsOCS() {
+    }
+
+    public ArrayList<String> getData() {
+        return this.data;
+    }
+
+    public void setData(ArrayList<String> data) {
+        this.data = data;
+    }
+
+    public String toString() {
+        return "UserProfileFieldsOCS(data=" + this.getData() + ")";
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof UserProfileFieldsOCS)) {
+            return false;
+        }
+        final UserProfileFieldsOCS other = (UserProfileFieldsOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        if (!super.equals(o)) {
+            return false;
+        }
+        final Object this$data = this.getData();
+        final Object other$data = other.getData();
+        if (this$data == null ? other$data != null : !this$data.equals(other$data)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof UserProfileFieldsOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = super.hashCode();
+        final Object $data = this.getData();
+        result = result * PRIME + ($data == null ? 43 : $data.hashCode());
+        return result;
+    }
 }

+ 46 - 3
app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileFieldsOverall.java

@@ -25,12 +25,55 @@ import com.bluelinelabs.logansquare.annotation.JsonObject;
 
 import org.parceler.Parcel;
 
-import lombok.Data;
-
 @Parcel
-@Data
 @JsonObject
 public class UserProfileFieldsOverall {
     @JsonField(name = "ocs")
     UserProfileFieldsOCS ocs;
+
+    public UserProfileFieldsOverall() {
+    }
+
+    public UserProfileFieldsOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(UserProfileFieldsOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof UserProfileFieldsOverall)) {
+            return false;
+        }
+        final UserProfileFieldsOverall other = (UserProfileFieldsOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof UserProfileFieldsOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "UserProfileFieldsOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileOCS.java

@@ -23,13 +23,58 @@ package com.nextcloud.talk.models.json.userprofile;
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
 import com.nextcloud.talk.models.json.generic.GenericOCS;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject
 public class UserProfileOCS extends GenericOCS {
     @JsonField(name = "data")
     UserProfileData data;
+
+    public UserProfileOCS() {
+    }
+
+    public UserProfileData getData() {
+        return this.data;
+    }
+
+    public void setData(UserProfileData data) {
+        this.data = data;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof UserProfileOCS)) {
+            return false;
+        }
+        final UserProfileOCS other = (UserProfileOCS) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$data = this.getData();
+        final Object other$data = other.getData();
+        if (this$data == null ? other$data != null : !this$data.equals(other$data)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof UserProfileOCS;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $data = this.getData();
+        result = result * PRIME + ($data == null ? 43 : $data.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "UserProfileOCS(data=" + this.getData() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileOverall.java

@@ -22,13 +22,58 @@ package com.nextcloud.talk.models.json.userprofile;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
 @Parcel
-@Data
 @JsonObject
 public class UserProfileOverall {
     @JsonField(name = "ocs")
     UserProfileOCS ocs;
+
+    public UserProfileOverall() {
+    }
+
+    public UserProfileOCS getOcs() {
+        return this.ocs;
+    }
+
+    public void setOcs(UserProfileOCS ocs) {
+        this.ocs = ocs;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof UserProfileOverall)) {
+            return false;
+        }
+        final UserProfileOverall other = (UserProfileOverall) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$ocs = this.getOcs();
+        final Object other$ocs = other.getOcs();
+        if (this$ocs == null ? other$ocs != null : !this$ocs.equals(other$ocs)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof UserProfileOverall;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $ocs = this.getOcs();
+        result = result * PRIME + ($ocs == null ? 43 : $ocs.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "UserProfileOverall(ocs=" + this.getOcs() + ")";
+    }
 }

+ 77 - 2
app/src/main/java/com/nextcloud/talk/models/json/websocket/ActorWebSocketMessage.java

@@ -22,10 +22,9 @@ package com.nextcloud.talk.models.json.websocket;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @JsonObject
 @Parcel
 public class ActorWebSocketMessage {
@@ -37,4 +36,80 @@ public class ActorWebSocketMessage {
 
     @JsonField(name = "userid")
     String userid;
+
+    public ActorWebSocketMessage() {
+    }
+
+    public String getType() {
+        return this.type;
+    }
+
+    public String getSessionId() {
+        return this.sessionId;
+    }
+
+    public String getUserid() {
+        return this.userid;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public void setSessionId(String sessionId) {
+        this.sessionId = sessionId;
+    }
+
+    public void setUserid(String userid) {
+        this.userid = userid;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof ActorWebSocketMessage)) {
+            return false;
+        }
+        final ActorWebSocketMessage other = (ActorWebSocketMessage) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$type = this.getType();
+        final Object other$type = other.getType();
+        if (this$type == null ? other$type != null : !this$type.equals(other$type)) {
+            return false;
+        }
+        final Object this$sessionId = this.getSessionId();
+        final Object other$sessionId = other.getSessionId();
+        if (this$sessionId == null ? other$sessionId != null : !this$sessionId.equals(other$sessionId)) {
+            return false;
+        }
+        final Object this$userid = this.getUserid();
+        final Object other$userid = other.getUserid();
+        if (this$userid == null ? other$userid != null : !this$userid.equals(other$userid)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof ActorWebSocketMessage;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $type = this.getType();
+        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
+        final Object $sessionId = this.getSessionId();
+        result = result * PRIME + ($sessionId == null ? 43 : $sessionId.hashCode());
+        final Object $userid = this.getUserid();
+        result = result * PRIME + ($userid == null ? 43 : $userid.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "ActorWebSocketMessage(type=" + this.getType() + ", sessionId=" + this.getSessionId() + ", userid=" + this.getUserid() + ")";
+    }
 }

+ 62 - 2
app/src/main/java/com/nextcloud/talk/models/json/websocket/AuthParametersWebSocketMessage.java

@@ -22,10 +22,9 @@ package com.nextcloud.talk.models.json.websocket;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @JsonObject
 @Parcel
 public class AuthParametersWebSocketMessage {
@@ -34,4 +33,65 @@ public class AuthParametersWebSocketMessage {
 
     @JsonField(name = "ticket")
     String ticket;
+
+    public AuthParametersWebSocketMessage() {
+    }
+
+    public String getUserid() {
+        return this.userid;
+    }
+
+    public String getTicket() {
+        return this.ticket;
+    }
+
+    public void setUserid(String userid) {
+        this.userid = userid;
+    }
+
+    public void setTicket(String ticket) {
+        this.ticket = ticket;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof AuthParametersWebSocketMessage)) {
+            return false;
+        }
+        final AuthParametersWebSocketMessage other = (AuthParametersWebSocketMessage) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$userid = this.getUserid();
+        final Object other$userid = other.getUserid();
+        if (this$userid == null ? other$userid != null : !this$userid.equals(other$userid)) {
+            return false;
+        }
+        final Object this$ticket = this.getTicket();
+        final Object other$ticket = other.getTicket();
+        if (this$ticket == null ? other$ticket != null : !this$ticket.equals(other$ticket)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof AuthParametersWebSocketMessage;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $userid = this.getUserid();
+        result = result * PRIME + ($userid == null ? 43 : $userid.hashCode());
+        final Object $ticket = this.getTicket();
+        result = result * PRIME + ($ticket == null ? 43 : $ticket.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "AuthParametersWebSocketMessage(userid=" + this.getUserid() + ", ticket=" + this.getTicket() + ")";
+    }
 }

+ 62 - 2
app/src/main/java/com/nextcloud/talk/models/json/websocket/AuthWebSocketMessage.java

@@ -22,10 +22,9 @@ package com.nextcloud.talk.models.json.websocket;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @JsonObject
 @Parcel
 public class AuthWebSocketMessage {
@@ -34,4 +33,65 @@ public class AuthWebSocketMessage {
 
     @JsonField(name = "params")
     AuthParametersWebSocketMessage authParametersWebSocketMessage;
+
+    public AuthWebSocketMessage() {
+    }
+
+    public String getUrl() {
+        return this.url;
+    }
+
+    public AuthParametersWebSocketMessage getAuthParametersWebSocketMessage() {
+        return this.authParametersWebSocketMessage;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public void setAuthParametersWebSocketMessage(AuthParametersWebSocketMessage authParametersWebSocketMessage) {
+        this.authParametersWebSocketMessage = authParametersWebSocketMessage;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof AuthWebSocketMessage)) {
+            return false;
+        }
+        final AuthWebSocketMessage other = (AuthWebSocketMessage) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$url = this.getUrl();
+        final Object other$url = other.getUrl();
+        if (this$url == null ? other$url != null : !this$url.equals(other$url)) {
+            return false;
+        }
+        final Object this$authParametersWebSocketMessage = this.getAuthParametersWebSocketMessage();
+        final Object other$authParametersWebSocketMessage = other.getAuthParametersWebSocketMessage();
+        if (this$authParametersWebSocketMessage == null ? other$authParametersWebSocketMessage != null : !this$authParametersWebSocketMessage.equals(other$authParametersWebSocketMessage)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof AuthWebSocketMessage;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $url = this.getUrl();
+        result = result * PRIME + ($url == null ? 43 : $url.hashCode());
+        final Object $authParametersWebSocketMessage = this.getAuthParametersWebSocketMessage();
+        result = result * PRIME + ($authParametersWebSocketMessage == null ? 43 : $authParametersWebSocketMessage.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "AuthWebSocketMessage(url=" + this.getUrl() + ", authParametersWebSocketMessage=" + this.getAuthParametersWebSocketMessage() + ")";
+    }
 }

+ 47 - 2
app/src/main/java/com/nextcloud/talk/models/json/websocket/BaseWebSocketMessage.java

@@ -22,13 +22,58 @@ package com.nextcloud.talk.models.json.websocket;
 
 import com.bluelinelabs.logansquare.annotation.JsonField;
 import com.bluelinelabs.logansquare.annotation.JsonObject;
-import lombok.Data;
+
 import org.parceler.Parcel;
 
-@Data
 @JsonObject
 @Parcel
 public class BaseWebSocketMessage {
     @JsonField(name = "type")
     String type;
+
+    public BaseWebSocketMessage() {
+    }
+
+    public String getType() {
+        return this.type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public boolean equals(final Object o) {
+        if (o == this) {
+            return true;
+        }
+        if (!(o instanceof BaseWebSocketMessage)) {
+            return false;
+        }
+        final BaseWebSocketMessage other = (BaseWebSocketMessage) o;
+        if (!other.canEqual((Object) this)) {
+            return false;
+        }
+        final Object this$type = this.getType();
+        final Object other$type = other.getType();
+        if (this$type == null ? other$type != null : !this$type.equals(other$type)) {
+            return false;
+        }
+        return true;
+    }
+
+    protected boolean canEqual(final Object other) {
+        return other instanceof BaseWebSocketMessage;
+    }
+
+    public int hashCode() {
+        final int PRIME = 59;
+        int result = 1;
+        final Object $type = this.getType();
+        result = result * PRIME + ($type == null ? 43 : $type.hashCode());
+        return result;
+    }
+
+    public String toString() {
+        return "BaseWebSocketMessage(type=" + this.getType() + ")";
+    }
 }

部分文件因为文件数量过多而无法显示