From fef0e1c9b4715702780d05b7abe96117cfb74678 Mon Sep 17 00:00:00 2001 From: sim Date: Thu, 4 Dec 2025 08:56:15 +0100 Subject: [PATCH 1/5] feat(webpush): Add webpush capability Signed-off-by: sim --- .../status/GetCapabilitiesRemoteOperation.java | 10 ++++++++++ .../android/lib/resources/status/OCCapability.kt | 1 + 2 files changed, 11 insertions(+) diff --git a/library/src/main/java/com/owncloud/android/lib/resources/status/GetCapabilitiesRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/status/GetCapabilitiesRemoteOperation.java index acb980b95..70e250ec4 100644 --- a/library/src/main/java/com/owncloud/android/lib/resources/status/GetCapabilitiesRemoteOperation.java +++ b/library/src/main/java/com/owncloud/android/lib/resources/status/GetCapabilitiesRemoteOperation.java @@ -113,6 +113,8 @@ public class GetCapabilitiesRemoteOperation extends RemoteOperation Date: Thu, 4 Dec 2025 08:56:54 +0100 Subject: [PATCH 2/5] feat(webpush): Add webpush operations Signed-off-by: sim --- .../ActivateWebPushRegistrationOperation.kt | 61 ++++++++++++++++ .../notifications/GetVAPIDOperation.kt | 59 ++++++++++++++++ ...egisterAccountDeviceForWebPushOperation.kt | 70 +++++++++++++++++++ ...egisterAccountDeviceForWebPushOperation.kt | 56 +++++++++++++++ .../notifications/models/VapidResponse.kt | 10 +++ 5 files changed, 256 insertions(+) create mode 100644 library/src/main/java/com/owncloud/android/lib/resources/notifications/ActivateWebPushRegistrationOperation.kt create mode 100644 library/src/main/java/com/owncloud/android/lib/resources/notifications/GetVAPIDOperation.kt create mode 100644 library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt create mode 100644 library/src/main/java/com/owncloud/android/lib/resources/notifications/UnregisterAccountDeviceForWebPushOperation.kt create mode 100644 library/src/main/java/com/owncloud/android/lib/resources/notifications/models/VapidResponse.kt diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/ActivateWebPushRegistrationOperation.kt b/library/src/main/java/com/owncloud/android/lib/resources/notifications/ActivateWebPushRegistrationOperation.kt new file mode 100644 index 000000000..6b2d822f2 --- /dev/null +++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/ActivateWebPushRegistrationOperation.kt @@ -0,0 +1,61 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2025 Your Name + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +package com.owncloud.android.lib.resources.notifications + +import com.nextcloud.common.JSONRequestBody +import com.nextcloud.common.NextcloudClient +import com.nextcloud.operations.PostMethod +import com.owncloud.android.lib.common.operations.RemoteOperation +import com.owncloud.android.lib.common.operations.RemoteOperationResult +import com.owncloud.android.lib.common.utils.Log_OC +import org.apache.commons.httpclient.util.HttpURLConnection + +class ActivateWebPushRegistrationOperation( + val activationToken: String +): RemoteOperation() { + + override fun run(client: NextcloudClient): RemoteOperationResult { + var result: RemoteOperationResult + var post: PostMethod? = null + try { + val body = JSONRequestBody(ACTIVATION_TOKEN, activationToken) + post = PostMethod("${client.baseUri}$OCS_ROUTE", true, body.get()) + + val status = client.execute(post) + val response = post.getResponseBodyAsString() + when (status) { + HttpURLConnection.HTTP_ACCEPTED -> { + Log_OC.d(TAG, "Web push registration activated (status=202)") + result = RemoteOperationResult(true, post) + } + HttpURLConnection.HTTP_OK -> { + Log_OC.d(TAG, "Web push registration already activated (status=200)") + result = RemoteOperationResult(true, post) + } + else -> { + Log_OC.d(TAG, "Cannot activate web push registration (status=$status): $response") + result = RemoteOperationResult(false, post) + } + } + } catch (e: Exception) { + result = RemoteOperationResult(e) + Log_OC.e(TAG, "Exception while activating web push registration", e) + } finally { + post?.releaseConnection() + } + return result + } + + companion object { + // OCS Route + private const val OCS_ROUTE = "/ocs/v2.php/apps/notifications/api/v2/webpush/activate" + private const val ACTIVATION_TOKEN = "activationToken" + + private val TAG = ActivateWebPushRegistrationOperation::class.java.getSimpleName() + } +} \ No newline at end of file diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetVAPIDOperation.kt b/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetVAPIDOperation.kt new file mode 100644 index 000000000..feacf4777 --- /dev/null +++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetVAPIDOperation.kt @@ -0,0 +1,59 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2025 Your Name + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +package com.owncloud.android.lib.resources.notifications + +import com.nextcloud.common.NextcloudClient +import com.nextcloud.operations.GetMethod +import com.owncloud.android.lib.common.operations.RemoteOperation +import com.owncloud.android.lib.common.operations.RemoteOperationResult +import com.owncloud.android.lib.common.utils.Log_OC +import com.owncloud.android.lib.resources.notifications.models.VapidResponse +import org.json.JSONObject + +class GetVAPIDOperation(): RemoteOperation() { + + override fun run(client: NextcloudClient): RemoteOperationResult { + var result: RemoteOperationResult + var get: GetMethod? = null + try { + get = GetMethod("${client.baseUri}$OCS_ROUTE", true) + + val status = client.execute(get) + val response = get.getResponseBodyAsString() + + if (get.isSuccess()) { + result = RemoteOperationResult(true, get) + val vapid = JSONObject(response) + .getJSONObject(OCS) + .getJSONObject(DATA) + .getString(VAPID) + result.resultData = VapidResponse(vapid) + Log_OC.d(TAG, "VAPID key found: $vapid") + } else { + Log_OC.e(TAG, "Failed getting VAPID key (status=$status): $response") + result = RemoteOperationResult(false, get) + } + } catch (e: Exception) { + result = RemoteOperationResult(e) + Log_OC.e(TAG, "Exception while getting VAPID key", e) + } finally { + get?.releaseConnection() + } + return result + } + + companion object { + // OCS Route + private const val OCS_ROUTE = "/ocs/v2.php/apps/notifications/api/v2/webpush/vapid$JSON_FORMAT" + private const val OCS = "ocs" + private const val DATA = "data" + private const val VAPID = "vapid" + + private val TAG = GetVAPIDOperation::class.java.getSimpleName() + } +} \ No newline at end of file diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt b/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt new file mode 100644 index 000000000..021c39c7f --- /dev/null +++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt @@ -0,0 +1,70 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2025 Your Name + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +package com.owncloud.android.lib.resources.notifications + +import com.nextcloud.common.JSONRequestBody +import com.nextcloud.common.NextcloudClient +import com.nextcloud.operations.PostMethod +import com.owncloud.android.lib.common.operations.RemoteOperation +import com.owncloud.android.lib.common.operations.RemoteOperationResult +import com.owncloud.android.lib.common.utils.Log_OC +import org.apache.commons.httpclient.util.HttpURLConnection + +class RegisterAccountDeviceForWebPushOperation( + val endpoint: String, + val auth: String, + val uaPublicKey: String, + val apptypes: List +): RemoteOperation() { + + override fun run(client: NextcloudClient): RemoteOperationResult { + var result: RemoteOperationResult + var post: PostMethod? = null + try { + val body = JSONRequestBody(ENDPOINT, endpoint) + body.put(AUTH, auth) + body.put(UA_PUBLIC_KEY, uaPublicKey) + body.put(APPTYPES, apptypes.joinToString(",")) + post = PostMethod("${client.baseUri}$OCS_ROUTE", true, body.get()) + + val status = client.execute(post) + val response = post.getResponseBodyAsString() + when (status) { + HttpURLConnection.HTTP_CREATED -> { + Log_OC.d(TAG, "New web push registration created (status=201)") + result = RemoteOperationResult(true, post) + } + HttpURLConnection.HTTP_OK -> { + Log_OC.d(TAG, "Web push registration already activated (status=200)") + result = RemoteOperationResult(true, post) + } + else -> { + Log_OC.e(TAG, "Web push registration refused (status=$status): $response") + result = RemoteOperationResult(false, post) + } + } + } catch (e: Exception) { + result = RemoteOperationResult(e) + Log_OC.e(TAG, "Exception while registering web push", e) + } finally { + post?.releaseConnection() + } + return result + } + + companion object { + // OCS Route + private const val OCS_ROUTE = "/ocs/v2.php/apps/notifications/api/v2/webpush" + private const val ENDPOINT = "endpoint" + private const val AUTH = "auth" + private const val UA_PUBLIC_KEY = "uaPublicKey" + private const val APPTYPES = "apptypes" + + private val TAG = RegisterAccountDeviceForWebPushOperation::class.java.getSimpleName() + } +} \ No newline at end of file diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/UnregisterAccountDeviceForWebPushOperation.kt b/library/src/main/java/com/owncloud/android/lib/resources/notifications/UnregisterAccountDeviceForWebPushOperation.kt new file mode 100644 index 000000000..b8ac9387c --- /dev/null +++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/UnregisterAccountDeviceForWebPushOperation.kt @@ -0,0 +1,56 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2025 Your Name + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +package com.owncloud.android.lib.resources.notifications + +import com.nextcloud.common.NextcloudClient +import com.nextcloud.operations.DeleteMethod +import com.owncloud.android.lib.common.operations.RemoteOperation +import com.owncloud.android.lib.common.operations.RemoteOperationResult +import com.owncloud.android.lib.common.utils.Log_OC +import org.apache.commons.httpclient.util.HttpURLConnection + +class UnregisterAccountDeviceForWebPushOperation(): RemoteOperation() { + + override fun run(client: NextcloudClient): RemoteOperationResult { + var result: RemoteOperationResult + var delete: DeleteMethod? = null + try { + delete = DeleteMethod("${client.baseUri}$OCS_ROUTE", true) + + val status = client.execute(delete) + val response = delete.getResponseBodyAsString() + when (status) { + HttpURLConnection.HTTP_ACCEPTED -> { + Log_OC.d(TAG, "Web push registration deleted (status=202)") + result = RemoteOperationResult(true, delete) + } + HttpURLConnection.HTTP_OK -> { + Log_OC.d(TAG, "Web push registration already deleted (status=200)") + result = RemoteOperationResult(true, delete) + } + else -> { + Log_OC.e(TAG, "Web push registration refused (status=$status): $response") + result = RemoteOperationResult(false, delete) + } + } + } catch (e: Exception) { + result = RemoteOperationResult(e) + Log_OC.e(TAG, "Exception while registering web push", e) + } finally { + delete?.releaseConnection() + } + return result + } + + companion object { + // OCS Route + private const val OCS_ROUTE = "/ocs/v2.php/apps/notifications/api/v2/webpush" + + private val TAG = UnregisterAccountDeviceForWebPushOperation::class.java.getSimpleName() + } +} \ No newline at end of file diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/models/VapidResponse.kt b/library/src/main/java/com/owncloud/android/lib/resources/notifications/models/VapidResponse.kt new file mode 100644 index 000000000..afa36b859 --- /dev/null +++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/models/VapidResponse.kt @@ -0,0 +1,10 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2025 Your Name + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +package com.owncloud.android.lib.resources.notifications.models + +data class VapidResponse(val vapid: String) \ No newline at end of file From 2f621faaff4c7eadfa2475e9ed46f02433e365a6 Mon Sep 17 00:00:00 2001 From: sim Date: Thu, 12 Feb 2026 21:33:14 +0100 Subject: [PATCH 3/5] feat(webpush): Follow new appType name Signed-off-by: sim --- .../RegisterAccountDeviceForWebPushOperation.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt b/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt index 021c39c7f..1bbe776da 100644 --- a/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt +++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt @@ -19,7 +19,7 @@ class RegisterAccountDeviceForWebPushOperation( val endpoint: String, val auth: String, val uaPublicKey: String, - val apptypes: List + val appTypes: List ): RemoteOperation() { override fun run(client: NextcloudClient): RemoteOperationResult { @@ -29,7 +29,7 @@ class RegisterAccountDeviceForWebPushOperation( val body = JSONRequestBody(ENDPOINT, endpoint) body.put(AUTH, auth) body.put(UA_PUBLIC_KEY, uaPublicKey) - body.put(APPTYPES, apptypes.joinToString(",")) + body.put(APPTYPES, appTypes.joinToString(",")) post = PostMethod("${client.baseUri}$OCS_ROUTE", true, body.get()) val status = client.execute(post) @@ -63,7 +63,7 @@ class RegisterAccountDeviceForWebPushOperation( private const val ENDPOINT = "endpoint" private const val AUTH = "auth" private const val UA_PUBLIC_KEY = "uaPublicKey" - private const val APPTYPES = "apptypes" + private const val APPTYPES = "appTypes" private val TAG = RegisterAccountDeviceForWebPushOperation::class.java.getSimpleName() } From 77fb040bfc5147cdfa96ecaa909432a707c08397 Mon Sep 17 00:00:00 2001 From: sim Date: Tue, 17 Feb 2026 09:04:49 +0100 Subject: [PATCH 4/5] feat(webpush): Lint Signed-off-by: sim --- .../ActivateWebPushRegistrationOperation.kt | 7 ++++--- .../resources/notifications/GetVAPIDOperation.kt | 14 +++++++------- .../RegisterAccountDeviceForWebPushOperation.kt | 7 ++++--- .../UnregisterAccountDeviceForWebPushOperation.kt | 7 ++++--- .../notifications/models/VapidResponse.kt | 4 +++- 5 files changed, 22 insertions(+), 17 deletions(-) diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/ActivateWebPushRegistrationOperation.kt b/library/src/main/java/com/owncloud/android/lib/resources/notifications/ActivateWebPushRegistrationOperation.kt index 6b2d822f2..d0bf02b0e 100644 --- a/library/src/main/java/com/owncloud/android/lib/resources/notifications/ActivateWebPushRegistrationOperation.kt +++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/ActivateWebPushRegistrationOperation.kt @@ -17,8 +17,7 @@ import org.apache.commons.httpclient.util.HttpURLConnection class ActivateWebPushRegistrationOperation( val activationToken: String -): RemoteOperation() { - +) : RemoteOperation() { override fun run(client: NextcloudClient): RemoteOperationResult { var result: RemoteOperationResult var post: PostMethod? = null @@ -33,10 +32,12 @@ class ActivateWebPushRegistrationOperation( Log_OC.d(TAG, "Web push registration activated (status=202)") result = RemoteOperationResult(true, post) } + HttpURLConnection.HTTP_OK -> { Log_OC.d(TAG, "Web push registration already activated (status=200)") result = RemoteOperationResult(true, post) } + else -> { Log_OC.d(TAG, "Cannot activate web push registration (status=$status): $response") result = RemoteOperationResult(false, post) @@ -58,4 +59,4 @@ class ActivateWebPushRegistrationOperation( private val TAG = ActivateWebPushRegistrationOperation::class.java.getSimpleName() } -} \ No newline at end of file +} diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetVAPIDOperation.kt b/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetVAPIDOperation.kt index feacf4777..b66339624 100644 --- a/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetVAPIDOperation.kt +++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetVAPIDOperation.kt @@ -15,8 +15,7 @@ import com.owncloud.android.lib.common.utils.Log_OC import com.owncloud.android.lib.resources.notifications.models.VapidResponse import org.json.JSONObject -class GetVAPIDOperation(): RemoteOperation() { - +class GetVAPIDOperation : RemoteOperation() { override fun run(client: NextcloudClient): RemoteOperationResult { var result: RemoteOperationResult var get: GetMethod? = null @@ -28,10 +27,11 @@ class GetVAPIDOperation(): RemoteOperation() { if (get.isSuccess()) { result = RemoteOperationResult(true, get) - val vapid = JSONObject(response) - .getJSONObject(OCS) - .getJSONObject(DATA) - .getString(VAPID) + val vapid = + JSONObject(response) + .getJSONObject(OCS) + .getJSONObject(DATA) + .getString(VAPID) result.resultData = VapidResponse(vapid) Log_OC.d(TAG, "VAPID key found: $vapid") } else { @@ -56,4 +56,4 @@ class GetVAPIDOperation(): RemoteOperation() { private val TAG = GetVAPIDOperation::class.java.getSimpleName() } -} \ No newline at end of file +} diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt b/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt index 1bbe776da..0cf3cf751 100644 --- a/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt +++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt @@ -20,8 +20,7 @@ class RegisterAccountDeviceForWebPushOperation( val auth: String, val uaPublicKey: String, val appTypes: List -): RemoteOperation() { - +) : RemoteOperation() { override fun run(client: NextcloudClient): RemoteOperationResult { var result: RemoteOperationResult var post: PostMethod? = null @@ -39,10 +38,12 @@ class RegisterAccountDeviceForWebPushOperation( Log_OC.d(TAG, "New web push registration created (status=201)") result = RemoteOperationResult(true, post) } + HttpURLConnection.HTTP_OK -> { Log_OC.d(TAG, "Web push registration already activated (status=200)") result = RemoteOperationResult(true, post) } + else -> { Log_OC.e(TAG, "Web push registration refused (status=$status): $response") result = RemoteOperationResult(false, post) @@ -67,4 +68,4 @@ class RegisterAccountDeviceForWebPushOperation( private val TAG = RegisterAccountDeviceForWebPushOperation::class.java.getSimpleName() } -} \ No newline at end of file +} diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/UnregisterAccountDeviceForWebPushOperation.kt b/library/src/main/java/com/owncloud/android/lib/resources/notifications/UnregisterAccountDeviceForWebPushOperation.kt index b8ac9387c..8c8cce541 100644 --- a/library/src/main/java/com/owncloud/android/lib/resources/notifications/UnregisterAccountDeviceForWebPushOperation.kt +++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/UnregisterAccountDeviceForWebPushOperation.kt @@ -14,8 +14,7 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult import com.owncloud.android.lib.common.utils.Log_OC import org.apache.commons.httpclient.util.HttpURLConnection -class UnregisterAccountDeviceForWebPushOperation(): RemoteOperation() { - +class UnregisterAccountDeviceForWebPushOperation : RemoteOperation() { override fun run(client: NextcloudClient): RemoteOperationResult { var result: RemoteOperationResult var delete: DeleteMethod? = null @@ -29,10 +28,12 @@ class UnregisterAccountDeviceForWebPushOperation(): RemoteOperation() { Log_OC.d(TAG, "Web push registration deleted (status=202)") result = RemoteOperationResult(true, delete) } + HttpURLConnection.HTTP_OK -> { Log_OC.d(TAG, "Web push registration already deleted (status=200)") result = RemoteOperationResult(true, delete) } + else -> { Log_OC.e(TAG, "Web push registration refused (status=$status): $response") result = RemoteOperationResult(false, delete) @@ -53,4 +54,4 @@ class UnregisterAccountDeviceForWebPushOperation(): RemoteOperation() { private val TAG = UnregisterAccountDeviceForWebPushOperation::class.java.getSimpleName() } -} \ No newline at end of file +} diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/models/VapidResponse.kt b/library/src/main/java/com/owncloud/android/lib/resources/notifications/models/VapidResponse.kt index afa36b859..e8a8e511d 100644 --- a/library/src/main/java/com/owncloud/android/lib/resources/notifications/models/VapidResponse.kt +++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/models/VapidResponse.kt @@ -7,4 +7,6 @@ package com.owncloud.android.lib.resources.notifications.models -data class VapidResponse(val vapid: String) \ No newline at end of file +data class VapidResponse( + val vapid: String +) From de699b192dc4aa95c524fe2fa7fea5fa866e8690 Mon Sep 17 00:00:00 2001 From: sim Date: Tue, 17 Feb 2026 10:52:14 +0100 Subject: [PATCH 5/5] feat(webpush): Suppress TooGenericExceptionCaught Signed-off-by: sim --- .../notifications/ActivateWebPushRegistrationOperation.kt | 1 + .../android/lib/resources/notifications/GetVAPIDOperation.kt | 1 + .../notifications/RegisterAccountDeviceForWebPushOperation.kt | 1 + .../notifications/UnregisterAccountDeviceForWebPushOperation.kt | 1 + 4 files changed, 4 insertions(+) diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/ActivateWebPushRegistrationOperation.kt b/library/src/main/java/com/owncloud/android/lib/resources/notifications/ActivateWebPushRegistrationOperation.kt index d0bf02b0e..25bcc90d0 100644 --- a/library/src/main/java/com/owncloud/android/lib/resources/notifications/ActivateWebPushRegistrationOperation.kt +++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/ActivateWebPushRegistrationOperation.kt @@ -18,6 +18,7 @@ import org.apache.commons.httpclient.util.HttpURLConnection class ActivateWebPushRegistrationOperation( val activationToken: String ) : RemoteOperation() { + @Suppress("TooGenericExceptionCaught") override fun run(client: NextcloudClient): RemoteOperationResult { var result: RemoteOperationResult var post: PostMethod? = null diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetVAPIDOperation.kt b/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetVAPIDOperation.kt index b66339624..34e2ae969 100644 --- a/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetVAPIDOperation.kt +++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetVAPIDOperation.kt @@ -16,6 +16,7 @@ import com.owncloud.android.lib.resources.notifications.models.VapidResponse import org.json.JSONObject class GetVAPIDOperation : RemoteOperation() { + @Suppress("TooGenericExceptionCaught") override fun run(client: NextcloudClient): RemoteOperationResult { var result: RemoteOperationResult var get: GetMethod? = null diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt b/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt index 0cf3cf751..a15f54ebb 100644 --- a/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt +++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForWebPushOperation.kt @@ -21,6 +21,7 @@ class RegisterAccountDeviceForWebPushOperation( val uaPublicKey: String, val appTypes: List ) : RemoteOperation() { + @Suppress("TooGenericExceptionCaught") override fun run(client: NextcloudClient): RemoteOperationResult { var result: RemoteOperationResult var post: PostMethod? = null diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/UnregisterAccountDeviceForWebPushOperation.kt b/library/src/main/java/com/owncloud/android/lib/resources/notifications/UnregisterAccountDeviceForWebPushOperation.kt index 8c8cce541..d7ee33844 100644 --- a/library/src/main/java/com/owncloud/android/lib/resources/notifications/UnregisterAccountDeviceForWebPushOperation.kt +++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/UnregisterAccountDeviceForWebPushOperation.kt @@ -15,6 +15,7 @@ import com.owncloud.android.lib.common.utils.Log_OC import org.apache.commons.httpclient.util.HttpURLConnection class UnregisterAccountDeviceForWebPushOperation : RemoteOperation() { + @Suppress("TooGenericExceptionCaught") override fun run(client: NextcloudClient): RemoteOperationResult { var result: RemoteOperationResult var delete: DeleteMethod? = null