From 2008fb0c2a01e61f3451afa23815b5a20bb04673 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Thu, 3 Mar 2022 12:50:58 +0100 Subject: [PATCH] migrate remaining status models to kotlin Signed-off-by: Andy Scherzinger --- .../talk/models/json/status/StatusOCS.java | 69 ------------------- .../talk/models/json/status/StatusOCS.kt | 38 ++++++++++ .../models/json/status/StatusOverall.java | 64 ----------------- .../talk/models/json/status/StatusOverall.kt | 37 ++++++++++ .../dialog/ChooseAccountDialogFragment.java | 4 +- 5 files changed, 78 insertions(+), 134 deletions(-) delete mode 100644 app/src/main/java/com/nextcloud/talk/models/json/status/StatusOCS.java create mode 100644 app/src/main/java/com/nextcloud/talk/models/json/status/StatusOCS.kt delete mode 100644 app/src/main/java/com/nextcloud/talk/models/json/status/StatusOverall.java create mode 100644 app/src/main/java/com/nextcloud/talk/models/json/status/StatusOverall.kt diff --git a/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOCS.java b/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOCS.java deleted file mode 100644 index 620e1084a..000000000 --- a/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOCS.java +++ /dev/null @@ -1,69 +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.status; - -import com.bluelinelabs.logansquare.annotation.JsonField; -import com.bluelinelabs.logansquare.annotation.JsonObject; -import com.nextcloud.talk.models.json.generic.GenericOCS; - -import java.util.Objects; - -@JsonObject -public class StatusOCS extends GenericOCS { - @JsonField(name = "data") - public Status data; - - public Status getData() { - return this.data; - } - - public void setData(Status 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; - } - StatusOCS that = (StatusOCS) o; - return Objects.equals(data, that.data); - } - - @Override - public int hashCode() { - return Objects.hash(super.hashCode(), data); - } - - @Override - public String toString() { - return "StatusOCS{" + - "data=" + data + - '}'; - } - -} diff --git a/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOCS.kt new file mode 100644 index 000000000..f35bfeb45 --- /dev/null +++ b/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOCS.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.status + +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 kotlinx.android.parcel.Parcelize + +@Parcelize +@JsonObject +data class StatusOCS( + @JsonField(name = ["data"]) + var data: Status? +) : 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/status/StatusOverall.java b/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOverall.java deleted file mode 100644 index 1107fc91c..000000000 --- a/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOverall.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.status; - -import com.bluelinelabs.logansquare.annotation.JsonField; -import com.bluelinelabs.logansquare.annotation.JsonObject; - -import java.util.Objects; - -@JsonObject -public class StatusOverall { - @JsonField(name = "ocs") - public StatusOCS ocs; - - public StatusOCS getOcs() { - return this.ocs; - } - - public void setOcs(StatusOCS ocs) { - this.ocs = ocs; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - StatusOverall that = (StatusOverall) o; - return Objects.equals(ocs, that.ocs); - } - - @Override - public int hashCode() { - return Objects.hash(ocs); - } - - @Override - public String toString() { - return "StatusOverall{" + - "ocs=" + ocs + - '}'; - } -} diff --git a/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOverall.kt new file mode 100644 index 000000000..a9b762026 --- /dev/null +++ b/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOverall.kt @@ -0,0 +1,37 @@ +/* + * 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.status + +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 StatusOverall( + @JsonField(name = ["ocs"]) + var ocs: StatusOCS? +) : 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/ui/dialog/ChooseAccountDialogFragment.java b/app/src/main/java/com/nextcloud/talk/ui/dialog/ChooseAccountDialogFragment.java index 1b2652e36..47f119d6e 100644 --- a/app/src/main/java/com/nextcloud/talk/ui/dialog/ChooseAccountDialogFragment.java +++ b/app/src/main/java/com/nextcloud/talk/ui/dialog/ChooseAccountDialogFragment.java @@ -217,7 +217,9 @@ public class ChooseAccountDialogFragment extends DialogFragment { @Override public void onNext(@NonNull StatusOverall statusOverall) { - status = statusOverall.ocs.data; + if (statusOverall.getOcs() != null) { + status = statusOverall.getOcs().getData(); + } binding.setStatus.setEnabled(true); drawStatus();