diff --git a/build.gradle b/build.gradle index 22c1f3398245..9345524e38c7 100644 --- a/build.gradle +++ b/build.gradle @@ -14,7 +14,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.2' + classpath 'com.android.tools.build:gradle:3.1.3' classpath 'com.google.gms:google-services:3.0.0' classpath 'org.codehaus.groovy:groovy-all:2.4.12' classpath('com.dicedmelon.gradle:jacoco-android:0.1.2') { @@ -206,9 +206,9 @@ dependencies { // dependencies for app building implementation 'com.android.support:multidex:1.0.3' // implementation project('nextcloud-android-library') - genericImplementation "com.github.nextcloud:android-library:1.0.42" - gplayImplementation "com.github.nextcloud:android-library:1.0.42" - versionDevImplementation 'com.github.nextcloud:android-library:master-SNAPSHOT' // use always latest master + genericImplementation "com.github.nextcloud:android-library:1.0.43" + gplayImplementation "com.github.nextcloud:android-library:1.0.43" + versionDevImplementation 'com.github.nextcloud:android-library:1.0.43' // use always latest master implementation "com.android.support:support-v4:${supportLibraryVersion}" implementation "com.android.support:design:${supportLibraryVersion}" implementation 'com.jakewharton:disklrucache:2.0.2' diff --git a/scripts/lint/lint-results.txt b/scripts/lint/lint-results.txt index f5ae9a19d82f..1ea0e0da8cfe 100644 --- a/scripts/lint/lint-results.txt +++ b/scripts/lint/lint-results.txt @@ -1,2 +1,2 @@ DO NOT TOUCH; GENERATED BY DRONE - Lint Report: 101 warnings + Lint Report: 100 warnings diff --git a/src/main/java/com/owncloud/android/operations/CreateShareWithShareeOperation.java b/src/main/java/com/owncloud/android/operations/CreateShareWithShareeOperation.java index 79a6f73b0c45..c054601f390f 100644 --- a/src/main/java/com/owncloud/android/operations/CreateShareWithShareeOperation.java +++ b/src/main/java/com/owncloud/android/operations/CreateShareWithShareeOperation.java @@ -55,7 +55,7 @@ public class CreateShareWithShareeOperation extends SyncOperation { */ public CreateShareWithShareeOperation(String path, String shareeName, ShareType shareType, int permissions) { if (!ShareType.USER.equals(shareType) && !ShareType.GROUP.equals(shareType) - && !ShareType.FEDERATED.equals(shareType)) { + && !ShareType.FEDERATED.equals(shareType) && !ShareType.EMAIL.equals(shareType)) { throw new IllegalArgumentException("Illegal share type " + shareType); } mPath = path; diff --git a/src/main/java/com/owncloud/android/providers/UsersAndGroupsSearchProvider.java b/src/main/java/com/owncloud/android/providers/UsersAndGroupsSearchProvider.java index 586a11e451a9..38d8e6e11665 100644 --- a/src/main/java/com/owncloud/android/providers/UsersAndGroupsSearchProvider.java +++ b/src/main/java/com/owncloud/android/providers/UsersAndGroupsSearchProvider.java @@ -110,6 +110,7 @@ public boolean onCreate() { sShareTypes.put(DATA_USER, ShareType.USER); sShareTypes.put(DATA_GROUP, ShareType.GROUP); sShareTypes.put(DATA_REMOTE, ShareType.FEDERATED); + sShareTypes.put(DATA_REMOTE, ShareType.EMAIL); mUriMatcher = new UriMatcher(UriMatcher.NO_MATCH); mUriMatcher.addURI(AUTHORITY, SearchManager.SUGGEST_URI_PATH_QUERY + "/*", SEARCH); @@ -215,6 +216,9 @@ private Cursor searchForUsersOrGroups(Uri uri) { displayName = userName; icon = R.drawable.ic_user; dataUri = Uri.withAppendedPath(userBaseUri, shareWith); + } else if (ShareType.EMAIL.getValue() == type) { + icon = R.drawable.ic_email; + displayName = getContext().getString(R.string.share_email_clarification, userName); } if (displayName != null && dataUri != null) { 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 a28671ba905f..4e879b18cb88 100755 --- a/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java +++ b/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java @@ -92,7 +92,7 @@ public class FileOperationsHelper { private static final String TAG = FileOperationsHelper.class.getSimpleName(); private static final Pattern mPatternUrl = Pattern.compile("^URL=(.+)$"); private static final Pattern mPatternString = Pattern.compile("(.+)"); - private FileActivity mFileActivity = null; + private FileActivity mFileActivity; /// Identifier of operation in progress which result shouldn't be lost private long mWaitingForOpId = Long.MAX_VALUE; @@ -428,10 +428,8 @@ public void shareFileWithSharee(OCFile file, String shareeName, ShareType shareT * @return 'True' if the server supports the Share API */ public boolean isSharedSupported() { - if (mFileActivity.getAccount() != null) { - return AccountUtils.getServerVersion(mFileActivity.getAccount()).isSharedSupported(); - } - return false; + return mFileActivity.getAccount() != null && + AccountUtils.getServerVersion(mFileActivity.getAccount()).isSharedSupported(); } @@ -471,8 +469,7 @@ public void unshareFileWithUserOrGroup(OCFile file, ShareType shareType, String private void queueShareIntent(Intent shareIntent) { if (isSharedSupported()) { // Unshare the file - mWaitingForOpId = mFileActivity.getOperationsServiceBinder(). - queueNewOperation(shareIntent); + mWaitingForOpId = mFileActivity.getOperationsServiceBinder().queueNewOperation(shareIntent); mFileActivity.showLoadingDialog(mFileActivity.getApplicationContext(). getString(R.string.wait_a_moment)); @@ -919,10 +916,8 @@ public void setOpIdWaitingFor(long waitingForOpId) { * @return 'True' if the server doesn't need to check forbidden characters */ public boolean isVersionWithForbiddenCharacters() { - if (mFileActivity.getAccount() != null) { - return AccountUtils.getServerVersion(mFileActivity.getAccount()).isVersionWithForbiddenCharacters(); - } - return false; + return mFileActivity.getAccount() != null && + AccountUtils.getServerVersion(mFileActivity.getAccount()).isVersionWithForbiddenCharacters(); } /** diff --git a/src/main/java/com/owncloud/android/utils/ThemeUtils.java b/src/main/java/com/owncloud/android/utils/ThemeUtils.java index c69dcd6308c6..54328d3821d8 100644 --- a/src/main/java/com/owncloud/android/utils/ThemeUtils.java +++ b/src/main/java/com/owncloud/android/utils/ThemeUtils.java @@ -32,6 +32,7 @@ import android.os.Build; import android.support.annotation.ColorInt; import android.support.annotation.DrawableRes; +import android.support.annotation.Nullable; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v4.app.FragmentActivity; @@ -223,7 +224,7 @@ public static void setStatusBarColor(Activity activity, @ColorInt int color) { * Adjust lightness of given color * * @param lightnessDelta values -1..+1 - * @param color + * @param color original color * @param threshold 0..1 as maximum value, -1 to disable * @return color adjusted by lightness */ @@ -360,15 +361,16 @@ public static Drawable tintDrawable(@DrawableRes int id, int color) { return tintDrawable(drawable, color); } + @Nullable public static Drawable tintDrawable(Drawable drawable, int color) { if (drawable != null) { Drawable wrap = DrawableCompat.wrap(drawable); wrap.setColorFilter(color, PorterDuff.Mode.SRC_ATOP); return wrap; - } else { - return drawable; } + + return null; } public static String colorToHexString(int color) {