Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/android-library.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortobiasKaminsky <tobias@kaminsky.me>2022-08-23 09:34:50 +0300
committertobiasKaminsky <tobias@kaminsky.me>2022-10-10 12:29:27 +0300
commitd51d3d48573d7d9a78896f4f0b055422455ade68 (patch)
tree1ac9dbb69e581b4d337c313f64b27c46bd6662b8
parent8b53159201c4e03eab75ee8bc805b1a1d6b2de3a (diff)
Add dashboard
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
-rw-r--r--library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardGetWidgetItemsRemoteOperationIT.kt59
-rw-r--r--library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardListWidgetsRemoteOperationIT.kt47
-rw-r--r--library/src/androidTest/java/com/nextcloud/lib/resources/users/GetUserInfoRemoteOperationIT.kt6
-rw-r--r--library/src/androidTest/java/com/owncloud/android/lib/resources/shares/UpdateShareRemoteOperationIT.kt1
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashBoardButtonType.kt36
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardButton.kt33
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardGetWidgetItemsRemoteOperation.kt71
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardListWidgetsRemoteOperation.kt65
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardWidget.kt37
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardWidgetItem.kt30
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardWidgetList.kt31
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingCreateFileRemoteOperation.java2
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainListOfTemplatesRemoteOperation.java2
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainRemoteOperation.java2
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingOpenFileRemoteOperation.java2
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/resources/profile/GetHoverCardRemoteOperation.kt1
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/resources/search/UnifiedSearchProvidersRemoteOperation.kt1
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/resources/search/UnifiedSearchRemoteOperation.kt9
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/resources/users/GenerateAppPasswordRemoteOperation.java1
-rw-r--r--library/src/main/java/com/nextcloud/android/lib/richWorkspace/RichWorkspaceDirectEditingRemoteOperation.java1
-rw-r--r--library/src/main/java/com/nextcloud/common/NextcloudClient.kt2
-rw-r--r--library/src/main/java/com/nextcloud/common/OkHttpMethodBase.kt12
-rw-r--r--library/src/main/java/com/owncloud/android/lib/common/operations/RemoteOperation.java1
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/activities/GetActivitiesRemoteOperation.java2
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/e2ee/GetMetadataRemoteOperation.java2
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/e2ee/LockFileRemoteOperation.java2
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/e2ee/StoreMetadataRemoteOperation.java2
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/files/CheckEtagRemoteOperation.java6
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/notifications/GetNotificationRemoteOperation.java3
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/notifications/GetNotificationsRemoteOperation.java2
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForNotificationsOperation.java2
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/status/GetCapabilitiesRemoteOperation.java2
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperation.java1
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/users/ClearStatusMessageRemoteOperation.java2
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/users/ConvertAppTokenRemoteOperation.java2
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/users/DeleteAppPasswordRemoteOperation.java2
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/users/GetPredefinedStatusesRemoteOperation.java2
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/users/GetPrivateKeyOperation.java2
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/users/GetPublicKeyOperation.java2
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/users/GetStatusRemoteOperation.java1
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/users/SendCSROperation.java2
-rw-r--r--library/src/main/java/com/owncloud/android/lib/resources/users/StorePrivateKeyOperation.java2
42 files changed, 439 insertions, 54 deletions
diff --git a/library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardGetWidgetItemsRemoteOperationIT.kt b/library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardGetWidgetItemsRemoteOperationIT.kt
new file mode 100644
index 00000000..75a59a39
--- /dev/null
+++ b/library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardGetWidgetItemsRemoteOperationIT.kt
@@ -0,0 +1,59 @@
+/*
+ *
+ * Nextcloud Android client application
+ *
+ * @author Tobias Kaminsky
+ * Copyright (C) 2022 Tobias Kaminsky
+ * Copyright (C) 2022 Nextcloud GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package com.nextcloud.android.lib.resources.dashboard
+
+import com.owncloud.android.AbstractIT
+import org.junit.Assert.assertTrue
+import org.junit.Test
+
+class DashboardGetWidgetItemsRemoteOperationIT : AbstractIT() {
+ @Test
+ fun getItems() {
+ val widgetId = "recommendations"
+ val result =
+ DashboardGetWidgetItemsRemoteOperation(widgetId, LIMIT_SIZE).execute(nextcloudClient)
+
+ assertTrue(result.isSuccess)
+ assertTrue(result.resultData[widgetId]?.isNotEmpty() ?: false)
+
+ val firstResult = result.resultData[widgetId]?.get(0)
+ assertTrue(firstResult?.title?.isNotEmpty() == true)
+ assertTrue(firstResult?.subtitle != null)
+ assertTrue(firstResult?.link?.isNotEmpty() == true)
+ assertTrue(firstResult?.iconUrl?.isNotEmpty() == true)
+ }
+
+ @Test
+ fun getEmptyItems() {
+ val widgetId = "nonExistingWidget"
+ val result =
+ DashboardGetWidgetItemsRemoteOperation(widgetId, LIMIT_SIZE).execute(nextcloudClient)
+
+ assertTrue(result.isSuccess)
+ assertTrue(result.resultData.isEmpty())
+ }
+
+ companion object {
+ const val LIMIT_SIZE = 14
+ }
+}
diff --git a/library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardListWidgetsRemoteOperationIT.kt b/library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardListWidgetsRemoteOperationIT.kt
new file mode 100644
index 00000000..df163e53
--- /dev/null
+++ b/library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardListWidgetsRemoteOperationIT.kt
@@ -0,0 +1,47 @@
+/*
+ *
+ * Nextcloud Android client application
+ *
+ * @author Tobias Kaminsky
+ * Copyright (C) 2022 Tobias Kaminsky
+ * Copyright (C) 2022 Nextcloud GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package com.nextcloud.android.lib.resources.dashboard
+
+import com.owncloud.android.AbstractIT
+import org.junit.Assert.assertEquals
+import org.junit.Assert.assertTrue
+import org.junit.Test
+
+class DashboardListWidgetsRemoteOperationIT : AbstractIT() {
+ @Test
+ fun list() {
+ val result = DashboardListWidgetsRemoteOperation().execute(nextcloudClient)
+ assertTrue(result.isSuccess)
+
+ assertTrue(result.resultData.isNotEmpty())
+
+ assertTrue(result.resultData["recommendations"]?.buttons?.getOrNull(0) == null)
+
+ assertTrue(result.resultData["notes"]?.buttons?.getOrNull(0)?.text?.isNotEmpty() == true)
+ assertTrue(result.resultData["notes"]?.buttons?.getOrNull(0)?.type == DashBoardButtonType.NEW)
+ assertTrue(result.resultData["notes"]?.roundIcons == false)
+
+ assertEquals(0, result.resultData["activity"]?.buttons?.size)
+ assertTrue(result.resultData["activity"]?.roundIcons == true)
+ }
+}
diff --git a/library/src/androidTest/java/com/nextcloud/lib/resources/users/GetUserInfoRemoteOperationIT.kt b/library/src/androidTest/java/com/nextcloud/lib/resources/users/GetUserInfoRemoteOperationIT.kt
index 82b8151f..4f12e867 100644
--- a/library/src/androidTest/java/com/nextcloud/lib/resources/users/GetUserInfoRemoteOperationIT.kt
+++ b/library/src/androidTest/java/com/nextcloud/lib/resources/users/GetUserInfoRemoteOperationIT.kt
@@ -58,7 +58,7 @@ class GetUserInfoRemoteOperationIT : AbstractIT() {
assertEquals("User Two", userInfo.displayName)
assertEquals("user2", userInfo.id)
- assertEquals(1073741824L, userInfo.quota?.quota)
+ assertEquals(QUOTA_1GB, userInfo.quota?.quota)
}
@After
@@ -70,4 +70,8 @@ class GetUserInfoRemoteOperationIT : AbstractIT() {
nextcloudClient.credentials = Credentials.basic(loginName.orEmpty(), password.orEmpty())
}
+
+ companion object {
+ const val QUOTA_1GB = 1073741824L
+ }
}
diff --git a/library/src/androidTest/java/com/owncloud/android/lib/resources/shares/UpdateShareRemoteOperationIT.kt b/library/src/androidTest/java/com/owncloud/android/lib/resources/shares/UpdateShareRemoteOperationIT.kt
index 031776b3..0c95db2b 100644
--- a/library/src/androidTest/java/com/owncloud/android/lib/resources/shares/UpdateShareRemoteOperationIT.kt
+++ b/library/src/androidTest/java/com/owncloud/android/lib/resources/shares/UpdateShareRemoteOperationIT.kt
@@ -129,6 +129,7 @@ class UpdateShareRemoteOperationIT : AbstractIT() {
}
@Test
+ @Suppress("MaxLineLength")
fun invalidPassword() {
val folder = "/invalidPassword/"
Assert.assertTrue(CreateFolderRemoteOperation(folder, true).execute(client).isSuccess)
diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashBoardButtonType.kt b/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashBoardButtonType.kt
new file mode 100644
index 00000000..224496c8
--- /dev/null
+++ b/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashBoardButtonType.kt
@@ -0,0 +1,36 @@
+/*
+ *
+ * Nextcloud Android client application
+ *
+ * @author Tobias Kaminsky
+ * Copyright (C) 2022 Tobias Kaminsky
+ * Copyright (C) 2022 Nextcloud GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package com.nextcloud.android.lib.resources.dashboard
+
+import com.google.gson.annotations.SerializedName
+
+enum class DashBoardButtonType {
+ @SerializedName("new")
+ NEW,
+
+ @SerializedName("more")
+ MORE,
+
+ @SerializedName("setup")
+ SETUP
+}
diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardButton.kt b/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardButton.kt
new file mode 100644
index 00000000..ac31f696
--- /dev/null
+++ b/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardButton.kt
@@ -0,0 +1,33 @@
+/*
+ *
+ * Nextcloud Android client application
+ *
+ * @author Tobias Kaminsky
+ * Copyright (C) 2022 Tobias Kaminsky
+ * Copyright (C) 2022 Nextcloud GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package com.nextcloud.android.lib.resources.dashboard
+
+import android.os.Parcelable
+import kotlinx.parcelize.Parcelize
+
+@Parcelize
+data class DashboardButton(
+ val type: DashBoardButtonType,
+ val text: String,
+ val link: String
+) : Parcelable
diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardGetWidgetItemsRemoteOperation.kt b/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardGetWidgetItemsRemoteOperation.kt
new file mode 100644
index 00000000..3c926472
--- /dev/null
+++ b/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardGetWidgetItemsRemoteOperation.kt
@@ -0,0 +1,71 @@
+/*
+ * Nextcloud Android client application
+ *
+ * @author Tobias Kaminsky
+ * Copyright (C) 2022 Tobias Kaminsky
+ * Copyright (C) 2022 Nextcloud GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+package com.nextcloud.android.lib.resources.dashboard
+
+import com.google.gson.reflect.TypeToken
+import com.nextcloud.common.NextcloudClient
+import com.nextcloud.operations.GetMethod
+import com.owncloud.android.lib.common.operations.RemoteOperationResult
+import com.owncloud.android.lib.ocs.ServerResponse
+import com.owncloud.android.lib.resources.OCSRemoteOperation
+import org.apache.commons.httpclient.HttpStatus
+import java.io.IOException
+
+class DashboardGetWidgetItemsRemoteOperation(val id: String, private val limitSize: Int) :
+ OCSRemoteOperation<HashMap<String, List<DashboardWidgetItem>>>() {
+
+ override fun run(client: NextcloudClient): RemoteOperationResult<HashMap<String, List<DashboardWidgetItem>>> {
+ lateinit var result: RemoteOperationResult<HashMap<String, List<DashboardWidgetItem>>>
+ lateinit var get: GetMethod
+
+ try {
+ get = GetMethod(client.baseUri.toString() + ENDPOINT + JSON_FORMAT, true)
+ get.setQueryString(mapOf(Pair("widgets[]", id), Pair(LIMIT, limitSize.toString())))
+ val status = client.execute(get)
+
+ if (status == HttpStatus.SC_OK) {
+ val list = getServerResponse(
+ get,
+ object :
+ TypeToken<ServerResponse<HashMap<String, List<DashboardWidgetItem>>>>() {}
+ ).ocs.data
+
+ result =
+ RemoteOperationResult<HashMap<String, List<DashboardWidgetItem>>>(true, get)
+ result.resultData = list
+ } else {
+ result =
+ RemoteOperationResult<HashMap<String, List<DashboardWidgetItem>>>(false, get)
+ }
+ } catch (e: IOException) {
+ result = RemoteOperationResult<HashMap<String, List<DashboardWidgetItem>>>(e)
+ }
+
+ return result
+ }
+
+ companion object {
+ const val ENDPOINT = "/ocs/v2.php/apps/dashboard/api/v1/widget-items"
+ const val LIMIT = "limit"
+ }
+}
diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardListWidgetsRemoteOperation.kt b/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardListWidgetsRemoteOperation.kt
new file mode 100644
index 00000000..446a12bd
--- /dev/null
+++ b/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardListWidgetsRemoteOperation.kt
@@ -0,0 +1,65 @@
+/*
+ * Nextcloud Android client application
+ *
+ * @author Tobias Kaminsky
+ * Copyright (C) 2022 Tobias Kaminsky
+ * Copyright (C) 2022 Nextcloud GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+package com.nextcloud.android.lib.resources.dashboard
+
+import com.google.gson.reflect.TypeToken
+import com.nextcloud.common.NextcloudClient
+import com.nextcloud.operations.GetMethod
+import com.owncloud.android.lib.common.operations.RemoteOperationResult
+import com.owncloud.android.lib.ocs.ServerResponse
+import com.owncloud.android.lib.resources.OCSRemoteOperation
+import org.apache.commons.httpclient.HttpStatus
+import java.io.IOException
+
+class DashboardListWidgetsRemoteOperation : OCSRemoteOperation<Map<String, DashboardWidget>>() {
+
+ override fun run(client: NextcloudClient): RemoteOperationResult<Map<String, DashboardWidget>> {
+ lateinit var result: RemoteOperationResult<Map<String, DashboardWidget>>
+ lateinit var get: GetMethod
+
+ try {
+ get = GetMethod(client.baseUri.toString() + LIST_ENDPOINT + JSON_FORMAT, true)
+ val status = client.execute(get)
+
+ if (status == HttpStatus.SC_OK) {
+ val list = getServerResponse(
+ get,
+ object : TypeToken<ServerResponse<HashMap<String, DashboardWidget>>>() {}
+ ).ocs.data
+
+ result = RemoteOperationResult<Map<String, DashboardWidget>>(true, get)
+ result.resultData = list
+ } else {
+ result = RemoteOperationResult<Map<String, DashboardWidget>>(false, get)
+ }
+ } catch (e: IOException) {
+ result = RemoteOperationResult<Map<String, DashboardWidget>>(e)
+ }
+
+ return result
+ }
+
+ companion object {
+ const val LIST_ENDPOINT = "/ocs/v2.php/apps/dashboard/api/v1/widgets"
+ }
+}
diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardWidget.kt b/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardWidget.kt
new file mode 100644
index 00000000..0b0a7868
--- /dev/null
+++ b/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardWidget.kt
@@ -0,0 +1,37 @@
+/*
+ *
+ * Nextcloud Android client application
+ *
+ * @author Tobias Kaminsky
+ * Copyright (C) 2022 Tobias Kaminsky
+ * Copyright (C) 2022 Nextcloud GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package com.nextcloud.android.lib.resources.dashboard
+
+import android.os.Parcelable
+import com.google.gson.annotations.SerializedName
+import kotlinx.parcelize.Parcelize
+
+@Parcelize
+data class DashboardWidget(
+ val id: String,
+ val title: String,
+ val order: Int,
+ @SerializedName("icon_url") val iconUrl: String,
+ @SerializedName("item_icons_round") val roundIcons: Boolean,
+ val buttons: List<DashboardButton>?
+) : Parcelable
diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardWidgetItem.kt b/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardWidgetItem.kt
new file mode 100644
index 00000000..94d932fd
--- /dev/null
+++ b/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardWidgetItem.kt
@@ -0,0 +1,30 @@
+/*
+ *
+ * Nextcloud Android client application
+ *
+ * @author Tobias Kaminsky
+ * Copyright (C) 2022 Tobias Kaminsky
+ * Copyright (C) 2022 Nextcloud GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package com.nextcloud.android.lib.resources.dashboard
+
+data class DashboardWidgetItem(
+ val title: String,
+ val subtitle: String,
+ val link: String,
+ val iconUrl: String
+)
diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardWidgetList.kt b/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardWidgetList.kt
new file mode 100644
index 00000000..1a9942bf
--- /dev/null
+++ b/library/src/main/java/com/nextcloud/android/lib/resources/dashboard/DashboardWidgetList.kt
@@ -0,0 +1,31 @@
+/*
+ *
+ * Nextcloud Android client application
+ *
+ * @author Tobias Kaminsky
+ * Copyright (C) 2022 Tobias Kaminsky
+ * Copyright (C) 2022 Nextcloud GmbH
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package com.nextcloud.android.lib.resources.dashboard
+
+import android.os.Parcelable
+import kotlinx.parcelize.Parcelize
+
+@Parcelize
+data class DashboardWidgetList(
+ val widgets: Map<String, DashboardWidget> = HashMap()
+) : Parcelable
diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingCreateFileRemoteOperation.java b/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingCreateFileRemoteOperation.java
index f512e038..4e9777e6 100644
--- a/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingCreateFileRemoteOperation.java
+++ b/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingCreateFileRemoteOperation.java
@@ -46,8 +46,6 @@ public class DirectEditingCreateFileRemoteOperation extends RemoteOperation<Stri
private static final int SYNC_CONNECTION_TIMEOUT = 5000;
private static final String DIRECT_ENDPOINT = "/ocs/v2.php/apps/files/api/v1/directEditing/create";
- private static final String JSON_FORMAT = "?format=json";
-
private final String path;
private final String editor;
private final String creator;
diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainListOfTemplatesRemoteOperation.java b/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainListOfTemplatesRemoteOperation.java
index 7a94eb68..dfcb4470 100644
--- a/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainListOfTemplatesRemoteOperation.java
+++ b/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainListOfTemplatesRemoteOperation.java
@@ -48,8 +48,6 @@ public class DirectEditingObtainListOfTemplatesRemoteOperation extends OCSRemote
private static final int SYNC_CONNECTION_TIMEOUT = 5000;
private static final String DIRECT_ENDPOINT = "/ocs/v2.php/apps/files/api/v1/directEditing/templates/";
- private static final String JSON_FORMAT = "?format=json";
-
private final String editor;
private final String template;
diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainRemoteOperation.java b/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainRemoteOperation.java
index 2e0c7604..c49a748b 100644
--- a/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainRemoteOperation.java
+++ b/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainRemoteOperation.java
@@ -44,8 +44,6 @@ public class DirectEditingObtainRemoteOperation extends OCSRemoteOperation<Direc
private static final int SYNC_CONNECTION_TIMEOUT = 5000;
private static final String DIRECT_ENDPOINT = "/ocs/v2.php/apps/files/api/v1/directEditing";
- private static final String JSON_FORMAT = "?format=json";
-
protected RemoteOperationResult<DirectEditing> run(OwnCloudClient client) {
RemoteOperationResult<DirectEditing> result;
GetMethod getMethod = null;
diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingOpenFileRemoteOperation.java b/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingOpenFileRemoteOperation.java
index 62574536..4dadeacb 100644
--- a/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingOpenFileRemoteOperation.java
+++ b/library/src/main/java/com/nextcloud/android/lib/resources/directediting/DirectEditingOpenFileRemoteOperation.java
@@ -46,8 +46,6 @@ public class DirectEditingOpenFileRemoteOperation extends RemoteOperation {
private static final int SYNC_CONNECTION_TIMEOUT = 5000;
private static final String DIRECT_ENDPOINT = "/ocs/v2.php/apps/files/api/v1/directEditing/open";
- private static final String JSON_FORMAT = "?format=json";
-
private final String filePath;
private final String editor;
diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/profile/GetHoverCardRemoteOperation.kt b/library/src/main/java/com/nextcloud/android/lib/resources/profile/GetHoverCardRemoteOperation.kt
index c45c0c97..45c1e0a7 100644
--- a/library/src/main/java/com/nextcloud/android/lib/resources/profile/GetHoverCardRemoteOperation.kt
+++ b/library/src/main/java/com/nextcloud/android/lib/resources/profile/GetHoverCardRemoteOperation.kt
@@ -74,6 +74,5 @@ class GetHoverCardRemoteOperation(private val userId: String) : OCSRemoteOperati
companion object {
private val TAG = GetHoverCardRemoteOperation::class.java.simpleName
private const val DIRECT_ENDPOINT = "/ocs/v2.php/hovercard/v1/"
- private const val JSON_FORMAT = "?format=json"
}
}
diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/search/UnifiedSearchProvidersRemoteOperation.kt b/library/src/main/java/com/nextcloud/android/lib/resources/search/UnifiedSearchProvidersRemoteOperation.kt
index 3f3fb455..bac5b837 100644
--- a/library/src/main/java/com/nextcloud/android/lib/resources/search/UnifiedSearchProvidersRemoteOperation.kt
+++ b/library/src/main/java/com/nextcloud/android/lib/resources/search/UnifiedSearchProvidersRemoteOperation.kt
@@ -41,7 +41,6 @@ class UnifiedSearchProvidersRemoteOperation : OCSRemoteOperation<SearchProviders
companion object {
private val TAG = UnifiedSearchProvidersRemoteOperation::class.java.simpleName
private const val ENDPOINT = "/ocs/v2.php/search/providers"
- private const val JSON_FORMAT = "?format=json"
}
override fun run(client: NextcloudClient): RemoteOperationResult<SearchProviders> {
diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/search/UnifiedSearchRemoteOperation.kt b/library/src/main/java/com/nextcloud/android/lib/resources/search/UnifiedSearchRemoteOperation.kt
index 16b04dfe..91b03bfb 100644
--- a/library/src/main/java/com/nextcloud/android/lib/resources/search/UnifiedSearchRemoteOperation.kt
+++ b/library/src/main/java/com/nextcloud/android/lib/resources/search/UnifiedSearchRemoteOperation.kt
@@ -47,8 +47,8 @@ class UnifiedSearchRemoteOperation(
companion object {
private val TAG = UnifiedSearchRemoteOperation::class.java.simpleName
private const val ENDPOINT = "/ocs/v2.php/search/providers/"
- private const val SEARCH_TERM = "/search?term="
- private const val JSON_FORMAT = "&format=json"
+ private const val SEARCH = "/search"
+ private const val TERM = "&term="
private const val LIMIT = "&limit=%d"
private const val CURSOR = "&cursor=%d"
}
@@ -66,9 +66,10 @@ class UnifiedSearchRemoteOperation(
var uri = client.baseUri.toString() +
ENDPOINT +
provider +
- SEARCH_TERM +
- URLEncoder.encode(query, "UTF-8") +
JSON_FORMAT +
+ SEARCH +
+ TERM +
+ URLEncoder.encode(query, "UTF-8") +
LIMIT.format(limit)
cursor?.let {
uri += CURSOR.format(it)
diff --git a/library/src/main/java/com/nextcloud/android/lib/resources/users/GenerateAppPasswordRemoteOperation.java b/library/src/main/java/com/nextcloud/android/lib/resources/users/GenerateAppPasswordRemoteOperation.java
index dd62c0f8..bd66d365 100644
--- a/library/src/main/java/com/nextcloud/android/lib/resources/users/GenerateAppPasswordRemoteOperation.java
+++ b/library/src/main/java/com/nextcloud/android/lib/resources/users/GenerateAppPasswordRemoteOperation.java
@@ -46,7 +46,6 @@ public class GenerateAppPasswordRemoteOperation extends OCSRemoteOperation {
private static final int SYNC_READ_TIMEOUT = 40000;
private static final int SYNC_CONNECTION_TIMEOUT = 5000;
private static final String DIRECT_ENDPOINT = "/ocs/v2.php/core/getapppassword";
- private static final String JSON_FORMAT = "?format=json";
// JSON node names
private static final String NODE_OCS = "ocs";
diff --git a/library/src/main/java/com/nextcloud/android/lib/richWorkspace/RichWorkspaceDirectEditingRemoteOperation.java b/library/src/main/java/com/nextcloud/android/lib/richWorkspace/RichWorkspaceDirectEditingRemoteOperation.java
index 7718f74a..0f98565a 100644
--- a/library/src/main/java/com/nextcloud/android/lib/richWorkspace/RichWorkspaceDirectEditingRemoteOperation.java
+++ b/library/src/main/java/com/nextcloud/android/lib/richWorkspace/RichWorkspaceDirectEditingRemoteOperation.java
@@ -50,7 +50,6 @@ public class RichWorkspaceDirectEditingRemoteOperation extends RemoteOperation {
private static final int SYNC_READ_TIMEOUT = 40000;
private static final int SYNC_CONNECTION_TIMEOUT = 5000;
private static final String DIRECT_ENDPOINT = "/ocs/v2.php/apps/text/workspace/direct";
- private static final String JSON_FORMAT = "?format=json";
private static final String PATH = "path";
private String path;
diff --git a/library/src/main/java/com/nextcloud/common/NextcloudClient.kt b/library/src/main/java/com/nextcloud/common/NextcloudClient.kt
index 9a53986c..d2359395 100644
--- a/library/src/main/java/com/nextcloud/common/NextcloudClient.kt
+++ b/library/src/main/java/com/nextcloud/common/NextcloudClient.kt
@@ -109,7 +109,7 @@ class NextcloudClient private constructor(
}
}
- @Throws(Exception::class)
+ @Throws(IOException::class)
fun execute(method: OkHttpMethodBase): Int {
return method.execute(this)
}
diff --git a/library/src/main/java/com/nextcloud/common/OkHttpMethodBase.kt b/library/src/main/java/com/nextcloud/common/OkHttpMethodBase.kt
index 05b71f34..2b6020b9 100644
--- a/library/src/main/java/com/nextcloud/common/OkHttpMethodBase.kt
+++ b/library/src/main/java/com/nextcloud/common/OkHttpMethodBase.kt
@@ -29,6 +29,7 @@ package com.nextcloud.common
import com.owncloud.android.lib.common.OwnCloudClientManagerFactory
import com.owncloud.android.lib.common.operations.RemoteOperation
+import com.owncloud.android.lib.common.utils.Log_OC
import okhttp3.Headers
import okhttp3.HttpUrl
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
@@ -39,9 +40,10 @@ import java.io.IOException
/**
* Common base class for all new OkHttpMethods
*/
+@Suppress("TooManyFunctions")
abstract class OkHttpMethodBase(
var uri: String,
- val useOcsApiRequestHeader: Boolean
+ private val useOcsApiRequestHeader: Boolean
) {
companion object {
const val UNKNOWN_STATUS_CODE: Int = -1
@@ -59,8 +61,10 @@ abstract class OkHttpMethodBase(
requestHeaders["http.protocol.single-cookie-header"] = "true"
}
- fun buildQueryParameter(): HttpUrl {
- val httpBuilder = uri.toHttpUrlOrNull()?.newBuilder() ?: throw IllegalStateException("Error")
+ @Throws(IllegalStateException::class)
+ private fun buildQueryParameter(): HttpUrl {
+ val httpBuilder =
+ uri.toHttpUrlOrNull()?.newBuilder() ?: throw IllegalStateException("Error")
queryMap.forEach { (k, v) -> httpBuilder.addQueryParameter(k, v) }
@@ -170,7 +174,7 @@ abstract class OkHttpMethodBase(
try {
response = client.client.newCall(request).execute()
} catch (ex: IOException) {
- System.out.println(ex.message)
+ Log_OC.e(this, ex.message, ex)
}
return response?.code ?: UNKNOWN_STATUS_CODE
diff --git a/library/src/main/java/com/owncloud/android/lib/common/operations/RemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/common/operations/RemoteOperation.java
index 8d1c18d0..1a04b80b 100644
--- a/library/src/main/java/com/owncloud/android/lib/common/operations/RemoteOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/common/operations/RemoteOperation.java
@@ -73,6 +73,7 @@ public abstract class RemoteOperation<T> implements Runnable {
public static final String JSON_ENCODED = "application/json";
protected static final String E2E_TOKEN = "e2e-token";
protected static final String REMOTE_WIPE_TOKEN = "token";
+ protected static final String JSON_FORMAT = "?format=json";
/** ownCloud account in the remote ownCloud server to operate */
private Account mAccount = null;
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/activities/GetActivitiesRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/activities/GetActivitiesRemoteOperation.java
index 41c5cdcf..642ca5c0 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/activities/GetActivitiesRemoteOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/activities/GetActivitiesRemoteOperation.java
@@ -152,7 +152,7 @@ public class GetActivitiesRemoteOperation extends RemoteOperation {
Log_OC.e(TAG, "Failed response while getting user activities");
Log_OC.e(TAG, "*** status code: " + status + " ; response message: " + response);
}
- } catch (Exception e) {
+ } catch (IOException e) {
Log_OC.e(TAG, "Error getting user activities", e);
return new RemoteOperationResult(e);
} finally {
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/e2ee/GetMetadataRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/e2ee/GetMetadataRemoteOperation.java
index 85aa56be..38c832d1 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/e2ee/GetMetadataRemoteOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/e2ee/GetMetadataRemoteOperation.java
@@ -55,8 +55,6 @@ public class GetMetadataRemoteOperation extends RemoteOperation {
private static final String NODE_DATA = "data";
private static final String NODE_META_DATA = "meta-data";
- private static final String JSON_FORMAT = "?format=json";
-
private String fileId;
/**
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/e2ee/LockFileRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/e2ee/LockFileRemoteOperation.java
index b33a7a86..054626aa 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/e2ee/LockFileRemoteOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/e2ee/LockFileRemoteOperation.java
@@ -56,8 +56,6 @@ public class LockFileRemoteOperation extends RemoteOperation {
private static final String NODE_OCS = "ocs";
private static final String NODE_DATA = "data";
- private static final String JSON_FORMAT = "?format=json";
-
/**
* Constructor
*/
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/e2ee/StoreMetadataRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/e2ee/StoreMetadataRemoteOperation.java
index 206f5dda..07c3637d 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/e2ee/StoreMetadataRemoteOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/e2ee/StoreMetadataRemoteOperation.java
@@ -56,8 +56,6 @@ public class StoreMetadataRemoteOperation extends RemoteOperation {
private static final String NODE_DATA = "data";
private static final String NODE_META_DATA = "meta-data";
- private static final String JSON_FORMAT = "?format=json";
-
private String fileId;
private String encryptedMetadataJson;
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/files/CheckEtagRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/files/CheckEtagRemoteOperation.java
index 09be5120..6c3b9d0c 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/files/CheckEtagRemoteOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/files/CheckEtagRemoteOperation.java
@@ -35,11 +35,13 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCo
import com.owncloud.android.lib.common.utils.Log_OC;
import org.apache.commons.httpclient.HttpStatus;
+import org.apache.jackrabbit.webdav.DavException;
import org.apache.jackrabbit.webdav.MultiStatusResponse;
import org.apache.jackrabbit.webdav.client.methods.PropFindMethod;
import org.apache.jackrabbit.webdav.property.DavPropertyName;
import org.apache.jackrabbit.webdav.property.DavPropertyNameSet;
+import java.io.IOException;
import java.util.ArrayList;
/**
@@ -91,11 +93,11 @@ public class CheckEtagRemoteOperation extends RemoteOperation {
return result;
}
}
-
+
if (status == HttpStatus.SC_NOT_FOUND) {
return new RemoteOperationResult(ResultCode.FILE_NOT_FOUND);
}
- } catch (Exception e) {
+ } catch (DavException | IOException e) {
Log_OC.e(TAG, "Error while retrieving eTag");
} finally {
if (propfind != null) {
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetNotificationRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetNotificationRemoteOperation.java
index 5824e4a5..8aa6d5e6 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetNotificationRemoteOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetNotificationRemoteOperation.java
@@ -57,7 +57,6 @@ public class GetNotificationRemoteOperation extends RemoteOperation {
// OCS Route
private static final String OCS_ROUTE_LIST_V12_AND_UP =
"/ocs/v2.php/apps/notifications/api/v2/notifications/";
- private static final String FORMAT_JSON = "?format=json";
// JSON Node names
private static final String NODE_OCS = "ocs";
@@ -76,7 +75,7 @@ public class GetNotificationRemoteOperation extends RemoteOperation {
int status;
GetMethod get = null;
List<Notification> notifications = new ArrayList<>();
- String url = client.getBaseUri() + OCS_ROUTE_LIST_V12_AND_UP + id + FORMAT_JSON;
+ String url = client.getBaseUri() + OCS_ROUTE_LIST_V12_AND_UP + id + JSON_FORMAT;
// get the notifications
try {
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetNotificationsRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetNotificationsRemoteOperation.java
index 80605aef..f84aef89 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetNotificationsRemoteOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/GetNotificationsRemoteOperation.java
@@ -56,7 +56,7 @@ public class GetNotificationsRemoteOperation extends RemoteOperation {
// OCS Route
private static final String OCS_ROUTE_LIST_V12_AND_UP =
- "/ocs/v2.php/apps/notifications/api/v2/notifications?format=json";
+ "/ocs/v2.php/apps/notifications/api/v2/notifications" + JSON_FORMAT;
private static final String TAG = GetNotificationsRemoteOperation.class.getSimpleName();
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForNotificationsOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForNotificationsOperation.java
index fbf961fa..bb28902f 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForNotificationsOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForNotificationsOperation.java
@@ -46,7 +46,7 @@ import java.lang.reflect.Type;
public class RegisterAccountDeviceForNotificationsOperation extends RemoteOperation {
// OCS Route
private static final String OCS_ROUTE =
- "/ocs/v2.php/apps/notifications/api/v2/push?format=json";
+ "/ocs/v2.php/apps/notifications/api/v2/push" + JSON_FORMAT;
private static final String TAG = RegisterAccountDeviceForNotificationsOperation.class.getSimpleName();
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 ef45e894..8b6658f1 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
@@ -221,7 +221,7 @@ public class GetCapabilitiesRemoteOperation extends RemoteOperation {
Log_OC.e(TAG, "*** status code: " + status);
}
}
- } catch (Exception e) {
+ } catch (JSONException | IOException e) {
result = new RemoteOperationResult(e);
Log_OC.e(TAG, "Exception while getting capabilities", e);
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperation.java
index 39296f22..c0e4771b 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperation.java
@@ -49,7 +49,6 @@ public class CheckRemoteWipeRemoteOperation extends RemoteOperation {
private static final String REMOTE_WIPE_URL = "/index.php/core/wipe/check";
// JSON node names
- private static final String JSON_FORMAT = "?format=json";
private static final String WIPE = "wipe";
/**
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/users/ClearStatusMessageRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/users/ClearStatusMessageRemoteOperation.java
index b25aac9e..07422146 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/users/ClearStatusMessageRemoteOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/users/ClearStatusMessageRemoteOperation.java
@@ -45,8 +45,6 @@ public class ClearStatusMessageRemoteOperation extends OCSRemoteOperation {
private static final String TAG = ClearStatusMessageRemoteOperation.class.getSimpleName();
private static final String URL = "/ocs/v2.php/apps/user_status/api/v1/user_status/message";
- private static final String JSON_FORMAT = "?format=json";
-
/**
* @param client Client object
*/
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/users/ConvertAppTokenRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/users/ConvertAppTokenRemoteOperation.java
index 8c43291e..321dca24 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/users/ConvertAppTokenRemoteOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/users/ConvertAppTokenRemoteOperation.java
@@ -49,8 +49,6 @@ public class ConvertAppTokenRemoteOperation extends OCSRemoteOperation<String> {
private static final String TAG = ConvertAppTokenRemoteOperation.class.getSimpleName();
private static final String URL = "/ocs/v2.php/core/getapppassword";
- private static final String JSON_FORMAT = "?format=json";
-
@Override
public RemoteOperationResult<String> run(NextcloudClient client) {
GetMethod method = null;
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/users/DeleteAppPasswordRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/users/DeleteAppPasswordRemoteOperation.java
index 76af5a3b..a143507e 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/users/DeleteAppPasswordRemoteOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/users/DeleteAppPasswordRemoteOperation.java
@@ -45,8 +45,6 @@ public class DeleteAppPasswordRemoteOperation extends RemoteOperation {
private static final String TAG = DeleteAppPasswordRemoteOperation.class.getSimpleName();
private static final String URL = "/ocs/v2.php/core/apppassword";
- private static final String JSON_FORMAT = "?format=json";
-
@Override
public RemoteOperationResult run(NextcloudClient client) {
DeleteMethod deleteMethod = null;
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/users/GetPredefinedStatusesRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/users/GetPredefinedStatusesRemoteOperation.java
index 59b4e27b..ae0370dd 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/users/GetPredefinedStatusesRemoteOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/users/GetPredefinedStatusesRemoteOperation.java
@@ -46,8 +46,6 @@ public class GetPredefinedStatusesRemoteOperation extends OCSRemoteOperation<Arr
private static final String TAG = GetPredefinedStatusesRemoteOperation.class.getSimpleName();
private static final String GET_STATUS_URL = "/ocs/v2.php/apps/user_status/api/v1/predefined_statuses";
- private static final String JSON_FORMAT = "?format=json";
-
/**
* @param client Client object
*/
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/users/GetPrivateKeyOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/users/GetPrivateKeyOperation.java
index 8aa26874..8f440e66 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/users/GetPrivateKeyOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/users/GetPrivateKeyOperation.java
@@ -50,8 +50,6 @@ public class GetPrivateKeyOperation extends OCSRemoteOperation<PrivateKey> {
private static final int SYNC_CONNECTION_TIMEOUT = 5000;
private static final String PUBLIC_KEY_URL = "/ocs/v2.php/apps/end_to_end_encryption/api/v1/private-key";
- private static final String JSON_FORMAT = "?format=json";
-
/**
* @param client Client object
*/
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/users/GetPublicKeyOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/users/GetPublicKeyOperation.java
index fdb6a93f..39fc41ce 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/users/GetPublicKeyOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/users/GetPublicKeyOperation.java
@@ -55,8 +55,6 @@ public class GetPublicKeyOperation extends RemoteOperation {
private static final String NODE_DATA = "data";
private static final String NODE_PUBLIC_KEYS = "public-keys";
- private static final String JSON_FORMAT = "?format=json";
-
/**
* @param client Client object
*/
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/users/GetStatusRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/users/GetStatusRemoteOperation.java
index 7fb3ce81..e3b793dd 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/users/GetStatusRemoteOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/users/GetStatusRemoteOperation.java
@@ -44,7 +44,6 @@ public class GetStatusRemoteOperation extends OCSRemoteOperation<Status> {
private static final String TAG = GetStatusRemoteOperation.class.getSimpleName();
private static final String GET_STATUS_URL = "/ocs/v2.php/apps/user_status/api/v1/user_status";
- private static final String JSON_FORMAT = "?format=json";
/**
* @param client Client object
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/users/SendCSROperation.java b/library/src/main/java/com/owncloud/android/lib/resources/users/SendCSROperation.java
index c91c0751..4d57778d 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/users/SendCSROperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/users/SendCSROperation.java
@@ -56,8 +56,6 @@ public class SendCSROperation extends RemoteOperation {
private static final String NODE_DATA = "data";
private static final String NODE_PUBLIC_KEY = "public-key";
- private static final String JSON_FORMAT = "?format=json";
-
private String csr;
/**
diff --git a/library/src/main/java/com/owncloud/android/lib/resources/users/StorePrivateKeyOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/users/StorePrivateKeyOperation.java
index c40e0373..ef4de409 100644
--- a/library/src/main/java/com/owncloud/android/lib/resources/users/StorePrivateKeyOperation.java
+++ b/library/src/main/java/com/owncloud/android/lib/resources/users/StorePrivateKeyOperation.java
@@ -56,8 +56,6 @@ public class StorePrivateKeyOperation extends RemoteOperation {
private static final String NODE_DATA = "data";
private static final String NODE_PRIVATE_KEY = "private-key";
- private static final String JSON_FORMAT = "?format=json";
-
private String privateKey;
/**