From ffbe39bd018622ef4b2fd624d92d67b51cf24812 Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Mon, 21 Feb 2022 14:43:48 +0100 Subject: [PATCH] change UserStatusCapability to kotlin data class Signed-off-by: Marcel Hibbe --- .../models/database/CapabilitiesUtil.java | 4 +- .../json/capabilities/Capabilities.java | 160 ------------------ .../models/json/capabilities/Capabilities.kt | 6 +- .../capabilities/UserStatusCapability.java | 32 ---- .../json/capabilities/UserStatusCapability.kt | 39 +++++ 5 files changed, 45 insertions(+), 196 deletions(-) delete mode 100644 app/src/main/java/com/nextcloud/talk/models/json/capabilities/Capabilities.java delete mode 100644 app/src/main/java/com/nextcloud/talk/models/json/capabilities/UserStatusCapability.java create mode 100644 app/src/main/java/com/nextcloud/talk/models/json/capabilities/UserStatusCapability.kt diff --git a/app/src/main/java/com/nextcloud/talk/models/database/CapabilitiesUtil.java b/app/src/main/java/com/nextcloud/talk/models/database/CapabilitiesUtil.java index 3d8375bcc..1babff115 100644 --- a/app/src/main/java/com/nextcloud/talk/models/database/CapabilitiesUtil.java +++ b/app/src/main/java/com/nextcloud/talk/models/database/CapabilitiesUtil.java @@ -180,8 +180,8 @@ public abstract class CapabilitiesUtil { try { Capabilities capabilities = LoganSquare.parse(user.getCapabilities(), Capabilities.class); if (capabilities.getUserStatusCapability() != null && - capabilities.getUserStatusCapability().isEnabled() && - capabilities.getUserStatusCapability().isSupportsEmoji()) { + capabilities.getUserStatusCapability().getEnabled() && + capabilities.getUserStatusCapability().getSupportsEmoji()) { return true; } } catch (IOException e) { diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/Capabilities.java b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/Capabilities.java deleted file mode 100644 index ca0fa9492..000000000 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/Capabilities.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Nextcloud Talk application - * - * @author Mario Danic - * Copyright (C) 2017-2018 Mario Danic - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.nextcloud.talk.models.json.capabilities; - -import com.bluelinelabs.logansquare.annotation.JsonField; -import com.bluelinelabs.logansquare.annotation.JsonObject; - -import org.parceler.Parcel; - -import java.util.HashMap; -import java.util.List; - -@Parcel -@JsonObject -public class Capabilities { - @JsonField(name = "spreed") - SpreedCapability spreedCapability; - - @JsonField(name = "notifications") - NotificationsCapability notificationsCapability; - - @JsonField(name = "theming") - ThemingCapability themingCapability; - - @JsonField(name = "external") - HashMap> externalCapability; - - @JsonField(name = "provisioning_api") - ProvisioningCapability provisioningCapability; - - @JsonField(name = "user_status") - UserStatusCapability userStatusCapability; - - public SpreedCapability getSpreedCapability() { - return this.spreedCapability; - } - - public NotificationsCapability getNotificationsCapability() { - return this.notificationsCapability; - } - - public ThemingCapability getThemingCapability() { - return this.themingCapability; - } - - public HashMap> getExternalCapability() { - return this.externalCapability; - } - - public ProvisioningCapability getProvisioningCapability() { - return this.provisioningCapability; - } - - public UserStatusCapability getUserStatusCapability() { - return userStatusCapability; - } - - 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> externalCapability) { - this.externalCapability = externalCapability; - } - - public void setProvisioningCapability(ProvisioningCapability provisioningCapability) { - this.provisioningCapability = provisioningCapability; - } - - public void setUserStatusCapability(UserStatusCapability userStatusCapability) { - this.userStatusCapability = userStatusCapability; - } - - 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(); - - return this$provisioningCapability == null ? other$provisioningCapability == null : this$provisioningCapability.equals(other$provisioningCapability); - } - - 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() + ")"; - } -} diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/Capabilities.kt b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/Capabilities.kt index 0bda48018..6682469b5 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/Capabilities.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/Capabilities.kt @@ -38,8 +38,10 @@ data class Capabilities( @JsonField(name = ["external"]) var externalCapability: HashMap>?, @JsonField(name = ["provisioning_api"]) - var provisioningCapability: ProvisioningCapability? + var provisioningCapability: ProvisioningCapability?, + @JsonField(name = ["user_status"]) + var userStatusCapability: UserStatusCapability? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' - constructor() : this(null, null, null, null, null) + constructor() : this(null, null, null, null, null, null) } diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/UserStatusCapability.java b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/UserStatusCapability.java deleted file mode 100644 index 9c344e852..000000000 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/UserStatusCapability.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.nextcloud.talk.models.json.capabilities; - -import com.bluelinelabs.logansquare.annotation.JsonField; -import com.bluelinelabs.logansquare.annotation.JsonObject; - -import org.parceler.Parcel; - -@Parcel -@JsonObject -public class UserStatusCapability { - @JsonField(name = "enabled") - boolean enabled; - - @JsonField(name = "supports_emoji") - boolean supportsEmoji; - - public boolean isEnabled() { - return enabled; - } - - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } - - public boolean isSupportsEmoji() { - return supportsEmoji; - } - - public void setSupportsEmoji(boolean supportsEmoji) { - this.supportsEmoji = supportsEmoji; - } -} diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/UserStatusCapability.kt b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/UserStatusCapability.kt new file mode 100644 index 000000000..eda9cb399 --- /dev/null +++ b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/UserStatusCapability.kt @@ -0,0 +1,39 @@ +/* + * Nextcloud Talk application + * + * @author Mario Danic + * @author Tim Krüger + * Copyright (C) 2022 Tim Krüger + * Copyright (C) 2017-2019 Mario Danic + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.nextcloud.talk.models.json.capabilities + +import android.os.Parcelable +import com.bluelinelabs.logansquare.annotation.JsonField +import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.android.parcel.Parcelize + +@Parcelize +@JsonObject +data class UserStatusCapability( + @JsonField(name = ["enabled"]) + var enabled: Boolean, + @JsonField(name = ["supports_emoji"]) + var supportsEmoji: Boolean +) : Parcelable { + // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' + constructor() : this(false, false) +}