diff --git a/scripts/analysis/findbugs-results.txt b/scripts/analysis/findbugs-results.txt index 5a40cf687a21..1fde7522a771 100644 --- a/scripts/analysis/findbugs-results.txt +++ b/scripts/analysis/findbugs-results.txt @@ -1 +1 @@ -435 \ No newline at end of file +434 \ No newline at end of file diff --git a/src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java b/src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java index d59181c29b54..5a9403468895 100644 --- a/src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java +++ b/src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java @@ -1091,9 +1091,8 @@ private void hidePassword() { public void onOkClick() { // this check should be unnecessary if (mServerInfo.mVersion == null || - !mServerInfo.mVersion.isVersionValid() || - mServerInfo.mBaseUrl == null || - mServerInfo.mBaseUrl.length() == 0) { + !mServerInfo.mVersion.isVersionValid() || + TextUtils.isEmpty(mServerInfo.mBaseUrl)) { mServerStatusIcon = R.drawable.ic_alert; mServerStatusText = getResources().getString(R.string.auth_wtf_reenter_URL); showServerStatus(); @@ -1911,8 +1910,7 @@ private void doOnResumeAndBound() { mOperationsServiceBinder.dispatchResultIfFinished((int) mWaitingForOpId, this); } - if (!webViewLoginMethod && mHostUrlInput.getText() != null && mHostUrlInput.getText().length() > 0 - && !mServerIsChecked) { + if (!webViewLoginMethod && !TextUtils.isEmpty(mHostUrlInput.getText()) && !mServerIsChecked) { checkOcServer(); } } diff --git a/src/main/java/com/owncloud/android/authentication/AuthenticatorUrlUtils.java b/src/main/java/com/owncloud/android/authentication/AuthenticatorUrlUtils.java index e20b53993d50..dea14c410de2 100644 --- a/src/main/java/com/owncloud/android/authentication/AuthenticatorUrlUtils.java +++ b/src/main/java/com/owncloud/android/authentication/AuthenticatorUrlUtils.java @@ -22,6 +22,7 @@ package com.owncloud.android.authentication; import android.content.Context; +import android.text.TextUtils; import com.owncloud.android.lib.resources.status.OwnCloudVersion; @@ -64,7 +65,7 @@ public static String normalizeUrlSuffix(String url) { public static String normalizeUrl(String url, boolean sslWhenUnprefixed) { String normalizedUrl = url; - if (normalizedUrl != null && normalizedUrl.length() > 0) { + if (!TextUtils.isEmpty(normalizedUrl)) { normalizedUrl = normalizedUrl.trim(); if (!normalizedUrl.toLowerCase(Locale.ROOT).startsWith(HTTP_PROTOCOL) && diff --git a/src/main/java/com/owncloud/android/datamodel/OCFile.java b/src/main/java/com/owncloud/android/datamodel/OCFile.java index dbb5d7972e85..d57bcbe3ac2b 100644 --- a/src/main/java/com/owncloud/android/datamodel/OCFile.java +++ b/src/main/java/com/owncloud/android/datamodel/OCFile.java @@ -28,6 +28,8 @@ import android.net.Uri; import android.os.Parcel; import android.os.Parcelable; +import android.text.TextUtils; + import androidx.annotation.NonNull; import androidx.core.content.FileProvider; import com.owncloud.android.R; @@ -116,7 +118,7 @@ public class OCFile implements Parcelable, Comparable, ServerFileInterfa public OCFile(String path) { resetData(); needsUpdatingWhileSaving = false; - if (path == null || path.length() <= 0 || !path.startsWith(PATH_SEPARATOR)) { + if (TextUtils.isEmpty(path) || !path.startsWith(PATH_SEPARATOR)) { throw new IllegalArgumentException("Trying to create a OCFile with a non valid remote path: " + path); } remotePath = path; @@ -263,7 +265,7 @@ public boolean isDown() { * @return true if it is */ public boolean existsOnDevice() { - if (localPath != null && localPath.length() > 0) { + if (!TextUtils.isEmpty(localPath)) { return new File(localPath).exists(); } return false; @@ -284,7 +286,7 @@ public String getStoragePath() { * @return A URI to the local copy of the file, or NULL if not stored in the device */ public Uri getStorageUri() { - if (localPath == null || localPath.length() == 0) { + if (TextUtils.isEmpty(localPath)) { return null; } if (localUri == null) { @@ -298,7 +300,7 @@ public Uri getStorageUri() { public Uri getLegacyExposedFileUri() { - if (localPath == null || localPath.length() == 0) { + if (TextUtils.isEmpty(localPath)) { return null; } @@ -313,7 +315,7 @@ public Uri getLegacyExposedFileUri() { Partly disabled because not all apps understand paths that we get via this method for now */ public Uri getExposedFileUri(Context context) { - if (localPath == null || localPath.length() == 0) { + if (TextUtils.isEmpty(localPath)) { return null; } if (exposedFileUri == null) { @@ -361,8 +363,7 @@ public String getFileName() { */ public void setFileName(String name) { Log_OC.d(TAG, "OCFile name changing from " + remotePath); - if (name != null && name.length() > 0 && !name.contains(PATH_SEPARATOR) && - !ROOT_PATH.equals(remotePath)) { + if (!TextUtils.isEmpty(name) && !name.contains(PATH_SEPARATOR) && !ROOT_PATH.equals(remotePath)) { String parent = new File(this.getRemotePath()).getParent(); parent = parent.endsWith(PATH_SEPARATOR) ? parent : parent + PATH_SEPARATOR; remotePath = parent + name; @@ -469,7 +470,7 @@ public void setEtagOnServer(String etag) { } public long getLocalModificationTimestamp() { - if (localPath != null && localPath.length() > 0) { + if (!TextUtils.isEmpty(localPath)) { File f = new File(localPath); return f.lastModified(); } @@ -480,7 +481,7 @@ public long getLocalModificationTimestamp() { * @return 'True' if the file is hidden */ public boolean isHidden() { - return getFileName().length() > 0 && getFileName().charAt(0) == '.'; + return !TextUtils.isEmpty(getFileName()) && getFileName().charAt(0) == '.'; } /** diff --git a/src/main/java/com/owncloud/android/operations/DetectAuthenticationMethodOperation.java b/src/main/java/com/owncloud/android/operations/DetectAuthenticationMethodOperation.java index 165f4189eec3..f20efbb5580a 100644 --- a/src/main/java/com/owncloud/android/operations/DetectAuthenticationMethodOperation.java +++ b/src/main/java/com/owncloud/android/operations/DetectAuthenticationMethodOperation.java @@ -22,6 +22,7 @@ import android.content.Context; import android.net.Uri; +import android.text.TextUtils; import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.operations.RemoteOperation; @@ -89,8 +90,7 @@ protected RemoteOperationResult run(OwnCloudClient client) { // try to access the root folder, following redirections but not SAML SSO redirections result = operation.execute(client); String redirectedLocation = result.getRedirectedLocation(); - while (redirectedLocation != null && redirectedLocation.length() > 0 && - !result.isIdPRedirection()) { + while (!TextUtils.isEmpty(redirectedLocation) && !result.isIdPRedirection()) { client.setBaseUri(Uri.parse(result.getRedirectedLocation())); result = operation.execute(client); redirectedLocation = result.getRedirectedLocation(); diff --git a/src/main/java/com/owncloud/android/operations/DownloadFileOperation.java b/src/main/java/com/owncloud/android/operations/DownloadFileOperation.java index 6842c2f8053b..73c9e5a3fe22 100644 --- a/src/main/java/com/owncloud/android/operations/DownloadFileOperation.java +++ b/src/main/java/com/owncloud/android/operations/DownloadFileOperation.java @@ -23,6 +23,7 @@ import android.accounts.Account; import android.content.Context; +import android.text.TextUtils; import android.webkit.MimeTypeMap; import com.owncloud.android.datamodel.DecryptedFolderMetadata; @@ -110,7 +111,7 @@ public String getRemotePath() { public String getMimeType() { String mimeType = file.getMimeType(); - if (mimeType == null || mimeType.length() <= 0) { + if (TextUtils.isEmpty(mimeType)) { try { mimeType = MimeTypeMap.getSingleton() .getMimeTypeFromExtension( diff --git a/src/main/java/com/owncloud/android/operations/RenameFileOperation.java b/src/main/java/com/owncloud/android/operations/RenameFileOperation.java index fa8b86e04c3a..cde479ad3cd7 100644 --- a/src/main/java/com/owncloud/android/operations/RenameFileOperation.java +++ b/src/main/java/com/owncloud/android/operations/RenameFileOperation.java @@ -21,6 +21,8 @@ package com.owncloud.android.operations; +import android.text.TextUtils; + import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.lib.common.OwnCloudClient; @@ -157,7 +159,7 @@ private void saveLocalFile() { */ private boolean isValidNewName() throws IOException { // check tricky names - if (newName == null || newName.length() <= 0 || newName.contains(File.separator)) { + if (TextUtils.isEmpty(newName) || newName.contains(File.separator)) { return false; } // create a test file diff --git a/src/main/java/com/owncloud/android/operations/SynchronizeFileOperation.java b/src/main/java/com/owncloud/android/operations/SynchronizeFileOperation.java index 7b0b5041dee7..72e4a1ecbe61 100644 --- a/src/main/java/com/owncloud/android/operations/SynchronizeFileOperation.java +++ b/src/main/java/com/owncloud/android/operations/SynchronizeFileOperation.java @@ -24,6 +24,7 @@ import android.accounts.Account; import android.content.Context; import android.content.Intent; +import android.text.TextUtils; import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.files.services.FileDownloader; @@ -204,7 +205,7 @@ protected RemoteOperationResult run(OwnCloudClient client) { if (mServerFile != null) { /// check changes in server and local file boolean serverChanged; - if (mLocalFile.getEtag() == null || mLocalFile.getEtag().length() == 0) { + if (TextUtils.isEmpty(mLocalFile.getEtag())) { // file uploaded (null) or downloaded ("") before upgrade to version 1.8.0; check the old condition serverChanged = mServerFile.getModificationTimestamp() != mLocalFile.getModificationTimestampAtLastSyncForData(); diff --git a/src/main/java/com/owncloud/android/operations/SynchronizeFolderOperation.java b/src/main/java/com/owncloud/android/operations/SynchronizeFolderOperation.java index 32cf1605873c..e9751fbc6f49 100644 --- a/src/main/java/com/owncloud/android/operations/SynchronizeFolderOperation.java +++ b/src/main/java/com/owncloud/android/operations/SynchronizeFolderOperation.java @@ -23,6 +23,7 @@ import android.accounts.Account; import android.content.Context; import android.content.Intent; +import android.text.TextUtils; import android.util.Log; import com.owncloud.android.datamodel.FileDataStorageManager; @@ -482,7 +483,7 @@ public void cancel() { public String getFolderPath() { String path = mLocalFolder.getStoragePath(); - if (path != null && path.length() > 0) { + if (!TextUtils.isEmpty(path)) { return path; } return FileStorageUtils.getDefaultSavePathFor(mAccount.name, mLocalFolder); diff --git a/src/main/java/com/owncloud/android/operations/UploadFileOperation.java b/src/main/java/com/owncloud/android/operations/UploadFileOperation.java index 74b509a867b5..579a9185dc3c 100644 --- a/src/main/java/com/owncloud/android/operations/UploadFileOperation.java +++ b/src/main/java/com/owncloud/android/operations/UploadFileOperation.java @@ -27,6 +27,7 @@ import android.content.Context; import android.net.Uri; import android.os.Build; +import android.text.TextUtils; import android.util.Log; import com.evernote.android.job.JobRequest; @@ -153,7 +154,7 @@ public class UploadFileOperation extends SyncOperation { public static OCFile obtainNewOCFileToUpload(String remotePath, String localPath, String mimeType) { // MIME type - if (mimeType == null || mimeType.length() <= 0) { + if (TextUtils.isEmpty(mimeType)) { mimeType = MimeTypeUtil.getBestMimeTypeByFilename(localPath); } @@ -163,7 +164,7 @@ public static OCFile obtainNewOCFileToUpload(String remotePath, String localPath newFile.setLastSyncDateForData(0); // size - if (localPath != null && localPath.length() > 0) { + if (!TextUtils.isEmpty(localPath)) { File localFile = new File(localPath); newFile.setFileLength(localFile.length()); newFile.setLastSyncDateForData(localFile.lastModified()); @@ -192,7 +193,7 @@ public UploadFileOperation(UploadsStorageManager uploadsStorageManager, if (upload == null) { throw new IllegalArgumentException("Illegal NULL file in UploadFileOperation creation"); } - if (upload.getLocalPath() == null || upload.getLocalPath().length() <= 0) { + if (TextUtils.isEmpty(upload.getLocalPath())) { throw new IllegalArgumentException( "Illegal file in UploadFileOperation; storage path invalid: " + upload.getLocalPath()); diff --git a/src/main/java/com/owncloud/android/services/OperationsService.java b/src/main/java/com/owncloud/android/services/OperationsService.java index dcaf56af8345..118b6c109bee 100644 --- a/src/main/java/com/owncloud/android/services/OperationsService.java +++ b/src/main/java/com/owncloud/android/services/OperationsService.java @@ -36,6 +36,7 @@ import android.os.Looper; import android.os.Message; import android.os.Process; +import android.text.TextUtils; import android.util.Pair; import com.owncloud.android.MainApp; @@ -455,8 +456,7 @@ private void nextOperation() { ); } else { OwnCloudCredentials credentials = null; - if (mLastTarget.mCookie != null && - mLastTarget.mCookie.length() > 0) { + if (!TextUtils.isEmpty(mLastTarget.mCookie)) { // just used for GetUserName // TODO refactor to run GetUserName as AsyncTask in the context of // AuthenticatorActivity @@ -558,7 +558,7 @@ private Pair newOperation(Intent operationIntent) { case ACTION_CREATE_SHARE_VIA_LINK: remotePath = operationIntent.getStringExtra(EXTRA_REMOTE_PATH); password = operationIntent.getStringExtra(EXTRA_SHARE_PASSWORD); - if (remotePath.length() > 0) { + if (!TextUtils.isEmpty(remotePath)) { operation = new CreateShareViaLinkOperation(remotePath, password); } break; @@ -567,7 +567,7 @@ private Pair newOperation(Intent operationIntent) { remotePath = operationIntent.getStringExtra(EXTRA_REMOTE_PATH); shareId = operationIntent.getLongExtra(EXTRA_SHARE_ID, -1); - if (remotePath != null && remotePath.length() > 0) { + if (!TextUtils.isEmpty(remotePath)) { UpdateShareViaLinkOperation updateLinkOperation = new UpdateShareViaLinkOperation(remotePath); password = operationIntent.getStringExtra(EXTRA_SHARE_PASSWORD); @@ -616,7 +616,7 @@ private Pair newOperation(Intent operationIntent) { String shareeName = operationIntent.getStringExtra(EXTRA_SHARE_WITH); shareType = (ShareType) operationIntent.getSerializableExtra(EXTRA_SHARE_TYPE); int permissions = operationIntent.getIntExtra(EXTRA_SHARE_PERMISSIONS, -1); - if (remotePath.length() > 0) { + if (!TextUtils.isEmpty(remotePath)) { operation = new CreateShareWithShareeOperation(remotePath, shareeName, shareType, permissions); } @@ -627,7 +627,7 @@ private Pair newOperation(Intent operationIntent) { shareType = (ShareType) operationIntent.getSerializableExtra(EXTRA_SHARE_TYPE); String shareWith = operationIntent.getStringExtra(EXTRA_SHARE_WITH); - if (remotePath.length() > 0) { + if (!TextUtils.isEmpty(remotePath)) { operation = new UnshareOperation(remotePath, shareType, shareWith, this); } break; diff --git a/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java b/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java index cde483679ead..fc06735833e6 100644 --- a/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -1987,7 +1987,7 @@ private void onCreateShareViaLinkOperationFinish(CreateShareViaLinkOperation ope // Detect Failure (403) --> maybe needs password String password = operation.getPassword(); if (result.getCode() == RemoteOperationResult.ResultCode.SHARE_FORBIDDEN && - (password == null || password.length() == 0) && + TextUtils.isEmpty(password) && getCapabilities().getFilesSharingPublicEnabled().isUnknown()) { // Was tried without password, but not sure that it's optional. diff --git a/src/main/java/com/owncloud/android/ui/activity/ShareActivity.java b/src/main/java/com/owncloud/android/ui/activity/ShareActivity.java index edfd9373cf27..ee8f04b41fb5 100644 --- a/src/main/java/com/owncloud/android/ui/activity/ShareActivity.java +++ b/src/main/java/com/owncloud/android/ui/activity/ShareActivity.java @@ -25,6 +25,7 @@ import android.content.Intent; import android.net.Uri; import android.os.Bundle; +import android.text.TextUtils; import com.google.android.material.snackbar.Snackbar; import com.owncloud.android.R; @@ -348,7 +349,7 @@ private void onCreateShareViaLinkOperationFinish(CreateShareViaLinkOperation ope // Detect Failure (403) --> maybe needs password String password = operation.getPassword(); if (result.getCode() == RemoteOperationResult.ResultCode.SHARE_FORBIDDEN && - (password == null || password.length() == 0) && + TextUtils.isEmpty(password) && getCapabilities().getFilesSharingPublicEnabled().isUnknown()) { // Was tried without password, but not sure that it's optional. diff --git a/src/main/java/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java index 8963fedcfdc6..1f7dc2feb9ab 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java @@ -24,6 +24,7 @@ import android.content.DialogInterface; import android.graphics.PorterDuff; import android.os.Bundle; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.Window; @@ -124,7 +125,7 @@ public void onClick(DialogInterface dialog, int which) { ((TextView)(getDialog().findViewById(R.id.user_input))) .getText().toString().trim(); - if (newFolderName.length() <= 0) { + if (TextUtils.isEmpty(newFolderName)) { DisplayUtils.showSnackMessage(getActivity(), R.string.filename_empty); return; } diff --git a/src/main/java/com/owncloud/android/ui/dialog/RenameFileDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/RenameFileDialogFragment.java index 9909a5f1263a..007021b92d9f 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/RenameFileDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/RenameFileDialogFragment.java @@ -30,6 +30,7 @@ import android.content.DialogInterface; import android.graphics.PorterDuff; import android.os.Bundle; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.Window; @@ -139,7 +140,7 @@ public void onClick(DialogInterface dialog, int which) { ((TextView)(getDialog().findViewById(R.id.user_input))) .getText().toString().trim(); - if (newFileName.length() <= 0) { + if (TextUtils.isEmpty((newFileName))) { DisplayUtils.showSnackMessage(getActivity(), R.string.filename_empty); return; } diff --git a/src/main/java/com/owncloud/android/ui/dialog/SharePasswordDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/SharePasswordDialogFragment.java index 535a70f2bf40..cb8b76e174e7 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/SharePasswordDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/SharePasswordDialogFragment.java @@ -24,6 +24,7 @@ import android.content.DialogInterface; import android.graphics.PorterDuff; import android.os.Bundle; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -152,7 +153,7 @@ public void onClick(DialogInterface dialog, int which) { if (which == AlertDialog.BUTTON_POSITIVE) { String password = ((TextView) (getDialog().findViewById(R.id.share_password))).getText().toString(); - if (password.length() <= 0) { + if (TextUtils.isEmpty(password)) { DisplayUtils.showSnackMessage( getActivity().findViewById(android.R.id.content), R.string.share_link_empty_password diff --git a/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.java b/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.java index abd2132dca28..b590d60e8214 100644 --- a/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.java +++ b/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.java @@ -27,6 +27,7 @@ import android.graphics.Typeface; import android.os.Build; import android.os.Bundle; +import android.text.TextUtils; import android.text.style.StyleSpan; import android.view.LayoutInflater; import android.view.View; @@ -203,7 +204,7 @@ private void setupDialogElements(View view) { // Set values setEnabled(mSyncedFolder.getEnabled()); - if (mSyncedFolder.getLocalPath() != null && mSyncedFolder.getLocalPath().length() > 0) { + if (!TextUtils.isEmpty(mSyncedFolder.getLocalPath())) { mLocalFolderPath.setText( DisplayUtils.createTextWithSpan( String.format( @@ -216,7 +217,7 @@ private void setupDialogElements(View view) { mLocalFolderSummary.setText(R.string.choose_local_folder); } - if (mSyncedFolder.getLocalPath() != null && mSyncedFolder.getLocalPath().length() > 0) { + if (!TextUtils.isEmpty(mSyncedFolder.getLocalPath())) { mRemoteFolderSummary.setText(mSyncedFolder.getRemotePath()); } else { mRemoteFolderSummary.setText(R.string.choose_remote_folder); diff --git a/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java b/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java index 806aaf23dea1..789cf4a98227 100755 --- a/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java +++ b/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java @@ -39,6 +39,7 @@ import android.os.Build; import android.os.Environment; import android.provider.MediaStore; +import android.text.TextUtils; import android.util.Log; import android.view.View; import android.webkit.MimeTypeMap; @@ -431,7 +432,7 @@ public void shareFileViaLink(OCFile file, String password) { Intent service = new Intent(mFileActivity, OperationsService.class); service.setAction(OperationsService.ACTION_CREATE_SHARE_VIA_LINK); service.putExtra(OperationsService.EXTRA_ACCOUNT, mFileActivity.getAccount()); - if (password != null && password.length() > 0) { + if (!TextUtils.isEmpty(password)) { service.putExtra(OperationsService.EXTRA_SHARE_PASSWORD, password); } service.putExtra(OperationsService.EXTRA_REMOTE_PATH, file.getRemotePath()); diff --git a/src/main/java/com/owncloud/android/ui/preview/PreviewImageActivity.java b/src/main/java/com/owncloud/android/ui/preview/PreviewImageActivity.java index 0460b394ded3..0ec014e75402 100644 --- a/src/main/java/com/owncloud/android/ui/preview/PreviewImageActivity.java +++ b/src/main/java/com/owncloud/android/ui/preview/PreviewImageActivity.java @@ -32,6 +32,7 @@ import android.content.ServiceConnection; import android.os.Bundle; import android.os.IBinder; +import android.text.TextUtils; import android.view.MenuItem; import android.view.View; @@ -223,7 +224,7 @@ public void onRemoteOperationFinish(RemoteOperation operation, RemoteOperationRe // Detect Failure (403) --> maybe needs password String password = op.getPassword(); if (result.getCode() == RemoteOperationResult.ResultCode.SHARE_FORBIDDEN && - (password == null || password.length() == 0) && + TextUtils.isEmpty(password) && getCapabilities().getFilesSharingPublicEnabled().isUnknown()) { // Was tried without password, but not sure that it's optional. diff --git a/src/main/java/com/owncloud/android/utils/ClipboardUtil.java b/src/main/java/com/owncloud/android/utils/ClipboardUtil.java index ac697da6d003..8c6f62756773 100644 --- a/src/main/java/com/owncloud/android/utils/ClipboardUtil.java +++ b/src/main/java/com/owncloud/android/utils/ClipboardUtil.java @@ -24,6 +24,7 @@ import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; +import android.text.TextUtils; import android.widget.Toast; import com.owncloud.android.R; @@ -43,7 +44,7 @@ public static void copyToClipboard(Activity activity, String text) { } public static void copyToClipboard(Activity activity, String text, boolean showToast) { - if (text != null && text.length() > 0) { + if (!TextUtils.isEmpty(text)) { try { ClipData clip = ClipData.newPlainText( activity.getString( diff --git a/src/main/java/com/owncloud/android/utils/ErrorMessageAdapter.java b/src/main/java/com/owncloud/android/utils/ErrorMessageAdapter.java index fc4125345ff1..30a74bbb8656 100644 --- a/src/main/java/com/owncloud/android/utils/ErrorMessageAdapter.java +++ b/src/main/java/com/owncloud/android/utils/ErrorMessageAdapter.java @@ -22,6 +22,7 @@ package com.owncloud.android.utils; import android.content.res.Resources; +import android.text.TextUtils; import com.owncloud.android.R; import com.owncloud.android.lib.common.operations.RemoteOperation; @@ -77,11 +78,11 @@ public static String getErrorCauseMessage( ) { String message = getSpecificMessageForResultAndOperation(result, operation, res); - if (message == null || message.length() <= 0) { + if (TextUtils.isEmpty(message)) { message = getCommonMessageForResult(result, res); } - if (message == null || message.length() <= 0) { + if (TextUtils.isEmpty(message)) { message = getGenericErrorMessageForOperation(operation, res); } @@ -434,7 +435,7 @@ private static String getCommonMessageForResult(RemoteOperationResult result, Re } - else if (result.getHttpPhrase() != null && result.getHttpPhrase().length() > 0) { + else if (!TextUtils.isEmpty(result.getHttpPhrase())) { // last chance: error message from server message = result.getHttpPhrase(); }