mirror of
https://github.com/nextcloud/android-library.git
synced 2025-08-15 22:15:29 +00:00
Localization added for remote operation.
Signed-off-by: A117870935 <surinder.kumar@t-systems.com>
This commit is contained in:

committed by
Tobias Kaminsky

parent
fe2c9ff6e9
commit
8309d0b6b7
@ -3,6 +3,7 @@
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2018-2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-FileCopyrightText: 2018-2023 Tobias Kaminsky <tobias@kaminsky.me>
|
||||
* SPDX-FileCopyrightText: 2025 TSI-mc <surinder.kumar@t-systems.com>
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
package com.owncloud.android;
|
||||
@ -265,7 +266,7 @@ public abstract class AbstractIT {
|
||||
|
||||
private void removeOnClient(OwnCloudClient client) {
|
||||
RemoteOperationResult result = new ReadFolderRemoteOperation("/").execute(client);
|
||||
assertTrue(result.getLogMessage(), result.isSuccess());
|
||||
assertTrue(result.getLogMessage(context), result.isSuccess());
|
||||
|
||||
for (Object object : result.getData()) {
|
||||
RemoteFile remoteFile = (RemoteFile) object;
|
||||
|
@ -11,17 +11,22 @@
|
||||
* SPDX-FileCopyrightText: 2014 Jorge Antonio Diaz-Benito Soriano <jorge.diazbenitosoriano@gmail.com>
|
||||
* SPDX-FileCopyrightText: 2014-2016 Juan Carlos González Cabrero <malkomich@gmail.com>
|
||||
* SPDX-FileCopyrightText: 2014 jabarros <jabarros@solidgear.es>
|
||||
* SPDX-FileCopyrightText: 2025 TSI-mc <surinder.kumar@t-systems.com>
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
package com.owncloud.android.lib.common.operations;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.accounts.AccountsException;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.system.ErrnoException;
|
||||
import android.system.OsConstants;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.nextcloud.common.OkHttpMethodBase;
|
||||
import com.owncloud.android.lib.R;
|
||||
import com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException;
|
||||
import com.owncloud.android.lib.common.network.CertificateCombinedException;
|
||||
import com.owncloud.android.lib.common.utils.Log_OC;
|
||||
@ -576,6 +581,8 @@ public class RemoteOperationResult<T extends Object> implements Serializable {
|
||||
return result;
|
||||
}
|
||||
|
||||
// use getLogMessage(Context)
|
||||
@Deprecated
|
||||
public String getLogMessage() {
|
||||
|
||||
if (mException != null) {
|
||||
@ -670,6 +677,100 @@ public class RemoteOperationResult<T extends Object> implements Serializable {
|
||||
|
||||
}
|
||||
|
||||
public String getLogMessage(@NonNull Context context) {
|
||||
|
||||
if (mException != null) {
|
||||
if (mException instanceof OperationCancelledException) {
|
||||
return context.getString(R.string.operation_cancelled);
|
||||
|
||||
} else if (mException instanceof SocketException) {
|
||||
return context.getString(R.string.socket_exception);
|
||||
|
||||
} else if (mException instanceof SocketTimeoutException) {
|
||||
return context.getString(R.string.socket_timeout_exception);
|
||||
|
||||
} else if (mException instanceof ConnectTimeoutException) {
|
||||
return context.getString(R.string.connect_timeout_exception);
|
||||
|
||||
} else if (mException instanceof MalformedURLException) {
|
||||
return context.getString(R.string.malformed_url_exception);
|
||||
|
||||
} else if (mException instanceof UnknownHostException) {
|
||||
return context.getString(R.string.unknown_host_exception);
|
||||
|
||||
} else if (mException instanceof CertificateCombinedException) {
|
||||
if (((CertificateCombinedException) mException).isRecoverable()) {
|
||||
return context.getString(R.string.ssl_recoverable_exception);
|
||||
} else {
|
||||
return context.getString(R.string.ssl_exception);
|
||||
}
|
||||
|
||||
} else if (mException instanceof SSLException) {
|
||||
return context.getString(R.string.ssl_exception);
|
||||
|
||||
} else if (mException instanceof DavException) {
|
||||
return context.getString(R.string.unexpected_webdav_exception);
|
||||
|
||||
} else if (mException instanceof HttpException) {
|
||||
return context.getString(R.string.http_violation);
|
||||
|
||||
} else if (mException instanceof IOException) {
|
||||
return context.getString(R.string.unrecovered_transport_exception);
|
||||
|
||||
} else if (mException instanceof AccountNotFoundException) {
|
||||
Account failedAccount = ((AccountNotFoundException) mException).getFailedAccount();
|
||||
return mException.getMessage() + " (" +
|
||||
(failedAccount != null ? failedAccount.name : "NULL") + ")";
|
||||
|
||||
} else if (mException instanceof AccountsException) {
|
||||
return context.getString(R.string.exception_using_account);
|
||||
|
||||
} else if (mException instanceof JSONException) {
|
||||
return context.getString(R.string.json_exception);
|
||||
|
||||
} else {
|
||||
return context.getString(R.string.unexpected_exception);
|
||||
}
|
||||
}
|
||||
|
||||
if (mCode == ResultCode.INSTANCE_NOT_CONFIGURED) {
|
||||
return context.getString(R.string.instance_not_configured);
|
||||
|
||||
} else if (mCode == ResultCode.NO_NETWORK_CONNECTION) {
|
||||
return context.getString(R.string.no_network_connection);
|
||||
|
||||
} else if (mCode == ResultCode.BAD_OC_VERSION) {
|
||||
return context.getString(R.string.bad_oc_version);
|
||||
|
||||
} else if (mCode == ResultCode.LOCAL_STORAGE_FULL) {
|
||||
return context.getString(R.string.local_storage_full);
|
||||
|
||||
} else if (mCode == ResultCode.LOCAL_STORAGE_NOT_MOVED) {
|
||||
return context.getString(R.string.local_storage_not_moved);
|
||||
|
||||
} else if (mCode == ResultCode.ACCOUNT_NOT_NEW) {
|
||||
return context.getString(R.string.account_not_new);
|
||||
|
||||
} else if (mCode == ResultCode.ACCOUNT_NOT_THE_SAME) {
|
||||
return context.getString(R.string.account_not_the_same);
|
||||
|
||||
} else if (mCode == ResultCode.INVALID_CHARACTER_IN_NAME) {
|
||||
return context.getString(R.string.invalid_character_in_name);
|
||||
|
||||
} else if (mCode == ResultCode.FILE_NOT_FOUND) {
|
||||
return context.getString(R.string.file_not_found);
|
||||
|
||||
} else if (mCode == ResultCode.SYNC_CONFLICT) {
|
||||
return context.getString(R.string.sync_conflict);
|
||||
|
||||
} else if (mCode == ResultCode.LOCKED) {
|
||||
return context.getString(R.string.file_locked);
|
||||
}
|
||||
|
||||
return context.getString(R.string.operation_finished_http_code, mHttpCode, isSuccess() ? "success" : "fail");
|
||||
}
|
||||
|
||||
|
||||
public boolean isServerFail() {
|
||||
return (mHttpCode >= HttpStatus.SC_INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
|
@ -4,6 +4,7 @@
|
||||
~
|
||||
~ SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
|
||||
~ SPDX-FileCopyrightText: 2015 ownCloud Inc.
|
||||
~ SPDX-FileCopyrightText: 2025 TSI-mc <surinder.kumar@t-systems.com>
|
||||
~ SPDX-License-Identifier: MIT
|
||||
-->
|
||||
<resources>
|
||||
@ -13,4 +14,30 @@
|
||||
<string name="notification_title_select_client_cert">Select client certificate</string>
|
||||
<string name="notification_message_select_client_cert">Select client certificate for %1$s:%2$d</string>
|
||||
<string name="operation_cancelled_by_the_caller">Operation cancelled by the caller</string>
|
||||
<string name="operation_cancelled">Operation cancelled by the caller</string>
|
||||
<string name="socket_exception">Socket exception</string>
|
||||
<string name="socket_timeout_exception">Socket timeout exception</string>
|
||||
<string name="connect_timeout_exception">Connect timeout exception</string>
|
||||
<string name="malformed_url_exception">Malformed URL exception</string>
|
||||
<string name="unknown_host_exception">Unknown host exception</string>
|
||||
<string name="ssl_recoverable_exception">SSL recoverable exception</string>
|
||||
<string name="ssl_exception">SSL exception</string>
|
||||
<string name="unexpected_webdav_exception">Unexpected WebDAV exception</string>
|
||||
<string name="http_violation">HTTP violation</string>
|
||||
<string name="unrecovered_transport_exception">Unrecovered transport exception</string>
|
||||
<string name="exception_using_account">Exception while using account</string>
|
||||
<string name="json_exception">JSON exception</string>
|
||||
<string name="unexpected_exception">Unexpected exception</string>
|
||||
<string name="instance_not_configured">The Nextcloud server is not configured!</string>
|
||||
<string name="no_network_connection">No network connection</string>
|
||||
<string name="bad_oc_version">No valid Nextcloud version was found at the server</string>
|
||||
<string name="local_storage_full">Local storage full</string>
|
||||
<string name="local_storage_not_moved">Error while moving file to final directory</string>
|
||||
<string name="account_not_new">Account already existing when creating a new one</string>
|
||||
<string name="account_not_the_same">Authenticated with a different account than the one updating</string>
|
||||
<string name="invalid_character_in_name">The file name contains a forbidden character</string>
|
||||
<string name="file_not_found">Local file does not exist</string>
|
||||
<string name="sync_conflict">Synchronization conflict</string>
|
||||
<string name="file_locked">File is currently locked by another user or process</string>
|
||||
<string name="operation_finished_http_code">Operation finished with HTTP status code %1$d (%2$s)</string>
|
||||
</resources>
|
||||
|
@ -5,6 +5,7 @@
|
||||
* SPDX-FileCopyrightText: 2023 Tobias Kaminsky <tobias@kaminsky.me>
|
||||
* SPDX-FileCopyrightText: 2015 ownCloud Inc.
|
||||
* SPDX-FileCopyrightText: 2015 David A. Velasco <dvelasco@solidgear.es>
|
||||
* SPDX-FileCopyrightText: 2025 TSI-mc <surinder.kumar@t-systems.com>
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
package com.owncloud.android.lib.sampleclient;
|
||||
@ -195,7 +196,7 @@ public class MainActivity extends Activity implements OnRemoteOperationListener,
|
||||
public void onRemoteOperationFinish(RemoteOperation operation, RemoteOperationResult result) {
|
||||
if (!result.isSuccess()) {
|
||||
Toast.makeText(this, R.string.todo_operation_finished_in_fail, Toast.LENGTH_SHORT).show();
|
||||
Log.e(TAG, result.getLogMessage(), result.getException());
|
||||
Log.e(TAG, result.getLogMessage(this), result.getException());
|
||||
|
||||
} else if (operation instanceof ReadFolderRemoteOperation) {
|
||||
onSuccessfulRefresh((ReadFolderRemoteOperation) operation, result);
|
||||
|
Reference in New Issue
Block a user