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) {