Browse Source

unify empty string compare

Signed-off-by: Jens Mueller <tschenser@gmx.de>
Jens Mueller 6 years ago
parent
commit
d8b9d109b1
20 changed files with 58 additions and 43 deletions
  1. 3 5
      src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java
  2. 2 1
      src/main/java/com/owncloud/android/authentication/AuthenticatorUrlUtils.java
  3. 10 9
      src/main/java/com/owncloud/android/datamodel/OCFile.java
  4. 2 2
      src/main/java/com/owncloud/android/operations/DetectAuthenticationMethodOperation.java
  5. 2 1
      src/main/java/com/owncloud/android/operations/DownloadFileOperation.java
  6. 3 1
      src/main/java/com/owncloud/android/operations/RenameFileOperation.java
  7. 2 1
      src/main/java/com/owncloud/android/operations/SynchronizeFileOperation.java
  8. 2 1
      src/main/java/com/owncloud/android/operations/SynchronizeFolderOperation.java
  9. 4 3
      src/main/java/com/owncloud/android/operations/UploadFileOperation.java
  10. 6 6
      src/main/java/com/owncloud/android/services/OperationsService.java
  11. 1 1
      src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java
  12. 2 1
      src/main/java/com/owncloud/android/ui/activity/ShareActivity.java
  13. 2 1
      src/main/java/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java
  14. 2 1
      src/main/java/com/owncloud/android/ui/dialog/RenameFileDialogFragment.java
  15. 2 1
      src/main/java/com/owncloud/android/ui/dialog/SharePasswordDialogFragment.java
  16. 3 2
      src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.java
  17. 2 1
      src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java
  18. 2 1
      src/main/java/com/owncloud/android/ui/preview/PreviewImageActivity.java
  19. 2 1
      src/main/java/com/owncloud/android/utils/ClipboardUtil.java
  20. 4 3
      src/main/java/com/owncloud/android/utils/ErrorMessageAdapter.java

+ 3 - 5
src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java

@@ -1091,9 +1091,8 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     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();
@@ -1898,8 +1897,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             mOperationsServiceBinder.dispatchResultIfFinished((int) mWaitingForOpId, this);
         }
 
-        if (!webViewLoginMethod && mHostUrlInput.getText() != null && mHostUrlInput.getText().length() > 0
-                && !mServerIsChecked) {
+        if (!webViewLoginMethod && !TextUtils.isEmpty(mHostUrlInput.getText()) && !mServerIsChecked) {
             checkOcServer();
         }
     }

+ 2 - 1
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 final class AuthenticatorUrlUtils {
     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) &&

+ 10 - 9
src/main/java/com/owncloud/android/datamodel/OCFile.java

@@ -28,6 +28,8 @@ import android.content.Context;
 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;
@@ -115,7 +117,7 @@ public class OCFile implements Parcelable, Comparable<OCFile>, 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;
@@ -262,7 +264,7 @@ public class OCFile implements Parcelable, Comparable<OCFile>, ServerFileInterfa
      * @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;
@@ -283,7 +285,7 @@ public class OCFile implements Parcelable, Comparable<OCFile>, ServerFileInterfa
      * @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) {
@@ -297,7 +299,7 @@ public class OCFile implements Parcelable, Comparable<OCFile>, ServerFileInterfa
 
 
     public Uri getLegacyExposedFileUri() {
-        if (localPath == null || localPath.length() == 0) {
+        if (TextUtils.isEmpty(localPath)) {
             return null;
         }
 
@@ -312,7 +314,7 @@ public class OCFile implements Parcelable, Comparable<OCFile>, ServerFileInterfa
         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) {
@@ -360,8 +362,7 @@ public class OCFile implements Parcelable, Comparable<OCFile>, ServerFileInterfa
      */
     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;
@@ -468,7 +469,7 @@ public class OCFile implements Parcelable, Comparable<OCFile>, ServerFileInterfa
     }
 
     public long getLocalModificationTimestamp() {
-        if (localPath != null && localPath.length() > 0) {
+        if (!TextUtils.isEmpty(localPath)) {
             File f = new File(localPath);
             return f.lastModified();
         }
@@ -479,7 +480,7 @@ public class OCFile implements Parcelable, Comparable<OCFile>, ServerFileInterfa
      * @return 'True' if the file is hidden
      */
     public boolean isHidden() {
-        return getFileName().length() > 0 && getFileName().charAt(0) == '.';
+        return !TextUtils.isEmpty(getFileName()) && getFileName().charAt(0) == '.';
     }
 
     /**

+ 2 - 2
src/main/java/com/owncloud/android/operations/DetectAuthenticationMethodOperation.java

@@ -22,6 +22,7 @@ package com.owncloud.android.operations;
 
 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 @@ public class DetectAuthenticationMethodOperation extends RemoteOperation {
         // 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();

+ 2 - 1
src/main/java/com/owncloud/android/operations/DownloadFileOperation.java

@@ -23,6 +23,7 @@ package com.owncloud.android.operations;
 
 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 class DownloadFileOperation extends RemoteOperation {
 
     public String getMimeType() {
         String mimeType = file.getMimeType();
-        if (mimeType == null || mimeType.length() <= 0) {
+        if (TextUtils.isEmpty(mimeType)) {
             try {
                 mimeType = MimeTypeMap.getSingleton()
                     .getMimeTypeFromExtension(

+ 3 - 1
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 @@ public class RenameFileOperation extends SyncOperation {
      */
     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

+ 2 - 1
src/main/java/com/owncloud/android/operations/SynchronizeFileOperation.java

@@ -24,6 +24,7 @@ package com.owncloud.android.operations;
 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 @@ public class SynchronizeFileOperation extends SyncOperation {
             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();

+ 2 - 1
src/main/java/com/owncloud/android/operations/SynchronizeFolderOperation.java

@@ -23,6 +23,7 @@ package com.owncloud.android.operations;
 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 class SynchronizeFolderOperation extends SyncOperation {
 
     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);

+ 4 - 3
src/main/java/com/owncloud/android/operations/UploadFileOperation.java

@@ -27,6 +27,7 @@ import android.annotation.SuppressLint;
 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 class UploadFileOperation extends SyncOperation {
         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 class UploadFileOperation extends SyncOperation {
         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());

+ 6 - 6
src/main/java/com/owncloud/android/services/OperationsService.java

@@ -36,6 +36,7 @@ import android.os.IBinder;
 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 @@ public class OperationsService extends Service {
                             );
                         } 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 @@ public class OperationsService extends Service {
                     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 @@ public class OperationsService extends Service {
                         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 @@ public class OperationsService extends Service {
                         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 @@ public class OperationsService extends Service {
                         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;

+ 1 - 1
src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java

@@ -1989,7 +1989,7 @@ public class FileDisplayActivity extends FileActivity
             // 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.
 

+ 2 - 1
src/main/java/com/owncloud/android/ui/activity/ShareActivity.java

@@ -25,6 +25,7 @@ import android.app.SearchManager;
 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 @@ public class ShareActivity extends FileActivity implements ShareFragmentListener
             // 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.
 

+ 2 - 1
src/main/java/com/owncloud/android/ui/dialog/CreateFolderDialogFragment.java

@@ -24,6 +24,7 @@ import android.app.Dialog;
 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 class CreateFolderDialogFragment
                     ((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;
             }

+ 2 - 1
src/main/java/com/owncloud/android/ui/dialog/RenameFileDialogFragment.java

@@ -30,6 +30,7 @@ import android.app.Dialog;
 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 class RenameFileDialogFragment
                 ((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;
             }

+ 2 - 1
src/main/java/com/owncloud/android/ui/dialog/SharePasswordDialogFragment.java

@@ -24,6 +24,7 @@ import android.app.Dialog;
 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 class SharePasswordDialogFragment extends DialogFragment implements Dialo
         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

+ 3 - 2
src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.java

@@ -27,6 +27,7 @@ import android.content.Intent;
 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 @@ public class SyncedFolderPreferencesDialogFragment extends DialogFragment {
         // 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 @@ public class SyncedFolderPreferencesDialogFragment extends DialogFragment {
             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);

+ 2 - 1
src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java

@@ -39,6 +39,7 @@ import android.net.Uri;
 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 class FileOperationsHelper {
             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());

+ 2 - 1
src/main/java/com/owncloud/android/ui/preview/PreviewImageActivity.java

@@ -32,6 +32,7 @@ import android.content.IntentFilter;
 import android.content.ServiceConnection;
 import android.os.Bundle;
 import android.os.IBinder;
+import android.text.TextUtils;
 import android.view.MenuItem;
 import android.view.View;
 
@@ -222,7 +223,7 @@ public class PreviewImageActivity extends FileActivity implements
                 // 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.
 

+ 2 - 1
src/main/java/com/owncloud/android/utils/ClipboardUtil.java

@@ -24,6 +24,7 @@ import android.app.Activity;
 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 final class ClipboardUtil {
     }
 
     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(

+ 4 - 3
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 final class ErrorMessageAdapter {
     ) {
         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 @@ public final class ErrorMessageAdapter {
 
             }
 
-            else if (result.getHttpPhrase() != null && result.getHttpPhrase().length() > 0) {
+            else if (!TextUtils.isEmpty(result.getHttpPhrase())) {
                 // last chance: error message from server
                 message = result.getHttpPhrase();
             }