From aa2a08692f2f0e8dad79efed1d6cc2e7e40faab4 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Thu, 3 Mar 2022 17:54:57 +0100 Subject: [PATCH] migrate statuses overall to kotlin data classes Signed-off-by: Andy Scherzinger --- .../models/json/statuses/StatusesOCS.java | 71 ------------------- .../talk/models/json/statuses/StatusesOCS.kt | 39 ++++++++++ .../models/json/statuses/StatusesOverall.java | 64 ----------------- .../models/json/statuses/StatusesOverall.kt | 38 ++++++++++ 4 files changed, 77 insertions(+), 135 deletions(-) delete mode 100644 app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOCS.java create mode 100644 app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOCS.kt delete mode 100644 app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOverall.java create mode 100644 app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOverall.kt diff --git a/app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOCS.java b/app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOCS.java deleted file mode 100644 index 31ad65e56..000000000 --- a/app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOCS.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * - * Nextcloud Talk application - * - * @author Tim Krüger - * Copyright (C) 2021 Tim Krüger - * - * 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.statuses; - -import com.bluelinelabs.logansquare.annotation.JsonField; -import com.bluelinelabs.logansquare.annotation.JsonObject; -import com.nextcloud.talk.models.json.generic.GenericOCS; -import com.nextcloud.talk.models.json.status.Status; - -import java.util.List; -import java.util.Objects; - -@JsonObject -public class StatusesOCS extends GenericOCS { - @JsonField(name = "data") - public List data; - - public List getData() { - return this.data; - } - - public void setData(List data) { - this.data = data; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - if (!super.equals(o)) { - return false; - } - StatusesOCS that = (StatusesOCS) o; - return Objects.equals(data, that.data); - } - - @Override - public int hashCode() { - return Objects.hash(super.hashCode(), data); - } - - @Override - public String toString() { - return "StatusesOCS{" + - "data=" + data + - '}'; - } - -} diff --git a/app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOCS.kt new file mode 100644 index 000000000..2764d1665 --- /dev/null +++ b/app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOCS.kt @@ -0,0 +1,39 @@ +/* + * Nextcloud Talk application + * + * @author Tim Krüger + * @author Andy Scherzinger + * Copyright (C) 2022 Andy Scherzinger + * Copyright (C) 2021 Tim Krüger + * + * 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.statuses + +import android.os.Parcelable +import com.bluelinelabs.logansquare.annotation.JsonField +import com.bluelinelabs.logansquare.annotation.JsonObject +import com.nextcloud.talk.models.json.generic.GenericOCS +import com.nextcloud.talk.models.json.status.Status +import kotlinx.android.parcel.Parcelize + +@Parcelize +@JsonObject +data class StatusesOCS( + @JsonField(name = ["data"]) + var data: List? +) : GenericOCS(), Parcelable { + // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' + constructor() : this(null) +} diff --git a/app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOverall.java b/app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOverall.java deleted file mode 100644 index b3a547ecb..000000000 --- a/app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOverall.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * - * Nextcloud Talk application - * - * @author Tim Krüger - * Copyright (C) 2021 Tim Krüger - * - * 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.statuses; - -import com.bluelinelabs.logansquare.annotation.JsonField; -import com.bluelinelabs.logansquare.annotation.JsonObject; - -import java.util.Objects; - -@JsonObject -public class StatusesOverall { - @JsonField(name = "ocs") - public StatusesOCS ocs; - - public StatusesOCS getOcs() { - return this.ocs; - } - - public void setOcs(StatusesOCS ocs) { - this.ocs = ocs; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - StatusesOverall that = (StatusesOverall) o; - return Objects.equals(ocs, that.ocs); - } - - @Override - public int hashCode() { - return Objects.hash(ocs); - } - - @Override - public String toString() { - return "StatusesOverall{" + - "ocs=" + ocs + - '}'; - } -} diff --git a/app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOverall.kt new file mode 100644 index 000000000..866178635 --- /dev/null +++ b/app/src/main/java/com/nextcloud/talk/models/json/statuses/StatusesOverall.kt @@ -0,0 +1,38 @@ +/* + * + * Nextcloud Talk application + * + * @author Tim Krüger + * @author Andy Scherzinger + * Copyright (C) 2022 Andy Scherzinger + * Copyright (C) 2021 Tim Krüger + * + * 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.statuses + +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 StatusesOverall( + @JsonField(name = ["ocs"]) + var ocs: StatusesOCS? +) : Parcelable { + // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' + constructor() : this(null) +}