From 3a08be44068a57cd68e7e2431ddc2b9b7f864aa3 Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Tue, 12 Jun 2018 10:03:09 +0200 Subject: [PATCH 1/7] add sharing to email Signed-off-by: tobiasKaminsky --- .../android/operations/CreateShareWithShareeOperation.java | 2 +- .../android/providers/UsersAndGroupsSearchProvider.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) 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..638177a7f512 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_user; + displayName = getContext().getString(R.string.share_email_clarification, userName); } if (displayName != null && dataUri != null) { From f8bc830f9b6b7ce7b7e90a31d888f330a43760bd Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Tue, 12 Jun 2018 10:12:13 +0200 Subject: [PATCH 2/7] user lib branch Signed-off-by: tobiasKaminsky --- build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 080b99893171..645206ce0c37 100644 --- a/build.gradle +++ b/build.gradle @@ -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:master-SNAPSHOT" - gplayImplementation "com.github.nextcloud:android-library:master-SNAPSHOT" - versionDevImplementation 'com.github.nextcloud:android-library:master-SNAPSHOT' // use always latest master + genericImplementation "com.github.nextcloud:android-library:emailShare-SNAPSHOT" + gplayImplementation "com.github.nextcloud:android-library:emailShare-SNAPSHOT" + versionDevImplementation 'com.github.nextcloud:android-library:emailShare-SNAPSHOT' // use always latest master implementation "com.android.support:support-v4:${supportLibraryVersion}" implementation "com.android.support:design:${supportLibraryVersion}" implementation 'com.jakewharton:disklrucache:2.0.2' From 16e6e75a458a4dda2eb78a587caa2d2447320125 Mon Sep 17 00:00:00 2001 From: AndyScherzinger Date: Tue, 12 Jun 2018 11:11:00 +0200 Subject: [PATCH 3/7] codacy: organize imports --- .../ui/fragment/util/FileDetailSharingFragmentHelper.java | 7 ------- .../android/ui/fragment/util/SharingMenuHelper.java | 5 ----- .../owncloud/android/ui/helpers/FileOperationsHelper.java | 1 - 3 files changed, 13 deletions(-) diff --git a/src/main/java/com/owncloud/android/ui/fragment/util/FileDetailSharingFragmentHelper.java b/src/main/java/com/owncloud/android/ui/fragment/util/FileDetailSharingFragmentHelper.java index 9ab5eab0d34f..84b85fc013ef 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/util/FileDetailSharingFragmentHelper.java +++ b/src/main/java/com/owncloud/android/ui/fragment/util/FileDetailSharingFragmentHelper.java @@ -22,18 +22,11 @@ import android.app.SearchManager; import android.content.ComponentName; -import android.content.res.Resources; import android.support.v7.widget.SearchView; -import android.view.MenuItem; import android.view.inputmethod.EditorInfo; -import com.owncloud.android.R; -import com.owncloud.android.lib.resources.shares.OCShare; import com.owncloud.android.lib.resources.status.OCCapability; -import java.text.SimpleDateFormat; -import java.util.Date; - /** * Helper calls for visibility logic of the sharing fragment. */ diff --git a/src/main/java/com/owncloud/android/ui/fragment/util/SharingMenuHelper.java b/src/main/java/com/owncloud/android/ui/fragment/util/SharingMenuHelper.java index 454a33d9dfe9..e68791fc61ff 100644 --- a/src/main/java/com/owncloud/android/ui/fragment/util/SharingMenuHelper.java +++ b/src/main/java/com/owncloud/android/ui/fragment/util/SharingMenuHelper.java @@ -20,16 +20,11 @@ package com.owncloud.android.ui.fragment.util; -import android.app.SearchManager; -import android.content.ComponentName; import android.content.res.Resources; -import android.support.v7.widget.SearchView; import android.view.MenuItem; -import android.view.inputmethod.EditorInfo; import com.owncloud.android.R; import com.owncloud.android.lib.resources.shares.OCShare; -import com.owncloud.android.lib.resources.status.OCCapability; import java.text.SimpleDateFormat; import java.util.Date; 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 23a5842f4612..73907ed715c2 100755 --- a/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java +++ b/src/main/java/com/owncloud/android/ui/helpers/FileOperationsHelper.java @@ -34,7 +34,6 @@ import android.os.Build; import android.support.annotation.NonNull; import android.support.annotation.Nullable; -import android.support.design.widget.Snackbar; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v4.content.FileProvider; From c0e116a298f1d4b36d342e0ab38fbb7e70534c43 Mon Sep 17 00:00:00 2001 From: AndyScherzinger Date: Tue, 12 Jun 2018 11:15:27 +0200 Subject: [PATCH 4/7] simplify if-clauses --- .../ui/helpers/FileOperationsHelper.java | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) 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 73907ed715c2..63f819ea3808 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; @@ -431,10 +431,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(); } @@ -474,8 +472,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)); @@ -942,10 +939,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(); } /** From 8d924a720e34b1ffb3c02110a0ed0590123fe6ba Mon Sep 17 00:00:00 2001 From: AndyScherzinger Date: Tue, 12 Jun 2018 11:23:22 +0200 Subject: [PATCH 5/7] display email icon for email addresses in the suggestions for share searches --- .../android/providers/UsersAndGroupsSearchProvider.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/owncloud/android/providers/UsersAndGroupsSearchProvider.java b/src/main/java/com/owncloud/android/providers/UsersAndGroupsSearchProvider.java index 638177a7f512..38d8e6e11665 100644 --- a/src/main/java/com/owncloud/android/providers/UsersAndGroupsSearchProvider.java +++ b/src/main/java/com/owncloud/android/providers/UsersAndGroupsSearchProvider.java @@ -217,7 +217,7 @@ private Cursor searchForUsersOrGroups(Uri uri) { icon = R.drawable.ic_user; dataUri = Uri.withAppendedPath(userBaseUri, shareWith); } else if (ShareType.EMAIL.getValue() == type) { - icon = R.drawable.ic_user; + icon = R.drawable.ic_email; displayName = getContext().getString(R.string.share_email_clarification, userName); } From 4ac524e24481579f93f27f3be8abfe1e379152b5 Mon Sep 17 00:00:00 2001 From: AndyScherzinger Date: Tue, 12 Jun 2018 11:49:23 +0200 Subject: [PATCH 6/7] adjust javaDoc --- src/main/java/com/owncloud/android/utils/ThemeUtils.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/owncloud/android/utils/ThemeUtils.java b/src/main/java/com/owncloud/android/utils/ThemeUtils.java index 41bef373b460..ef736b03e35b 100644 --- a/src/main/java/com/owncloud/android/utils/ThemeUtils.java +++ b/src/main/java/com/owncloud/android/utils/ThemeUtils.java @@ -236,7 +236,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 */ @@ -374,15 +374,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) { From 5bb48d0a698f1b8688a41948d283d9f661c22e7a Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Thu, 14 Jun 2018 23:34:17 +0200 Subject: [PATCH 7/7] revert back to master lib --- build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 645206ce0c37..080b99893171 100644 --- a/build.gradle +++ b/build.gradle @@ -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:emailShare-SNAPSHOT" - gplayImplementation "com.github.nextcloud:android-library:emailShare-SNAPSHOT" - versionDevImplementation 'com.github.nextcloud:android-library:emailShare-SNAPSHOT' // use always latest master + genericImplementation "com.github.nextcloud:android-library:master-SNAPSHOT" + gplayImplementation "com.github.nextcloud:android-library:master-SNAPSHOT" + versionDevImplementation 'com.github.nextcloud:android-library:master-SNAPSHOT' // use always latest master implementation "com.android.support:support-v4:${supportLibraryVersion}" implementation "com.android.support:design:${supportLibraryVersion}" implementation 'com.jakewharton:disklrucache:2.0.2'