Merge pull request #12616 from nextcloud/fix/11712-securityexception-when-searching-for-sharee

Fix SecurityException in UsersAndGroupsSearchProvider
This commit is contained in:
Tom 2024-02-29 16:00:54 +01:00 committed by GitHub
commit 3e75f3523d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -106,6 +106,7 @@ public class UsersAndGroupsSearchProvider extends ContentProvider {
public static final String CONTENT = "content"; public static final String CONTENT = "content";
private String AUTHORITY;
private String DATA_USER; private String DATA_USER;
private String DATA_GROUP; private String DATA_GROUP;
private String DATA_ROOM; private String DATA_ROOM;
@ -128,7 +129,7 @@ public class UsersAndGroupsSearchProvider extends ContentProvider {
} }
private static void setActionShareWith(@NonNull Context context) { private static void setActionShareWith(@NonNull Context context) {
ACTION_SHARE_WITH = context.getResources().getString(R.string.users_and_groups_share_with); ACTION_SHARE_WITH = context.getString(R.string.users_and_groups_share_with);
} }
@Nullable @Nullable
@ -146,7 +147,7 @@ public class UsersAndGroupsSearchProvider extends ContentProvider {
return false; return false;
} }
String AUTHORITY = getContext().getResources().getString(R.string.users_and_groups_search_authority); AUTHORITY = getContext().getString(R.string.users_and_groups_search_authority);
setActionShareWith(getContext()); setActionShareWith(getContext());
DATA_USER = AUTHORITY + ".data.user"; DATA_USER = AUTHORITY + ".data.user";
DATA_GROUP = AUTHORITY + ".data.group"; DATA_GROUP = AUTHORITY + ".data.group";
@ -311,9 +312,7 @@ public class UsersAndGroupsSearchProvider extends ContentProvider {
displayName = userName; displayName = userName;
subline = (status.getMessage() == null || status.getMessage().isEmpty()) ? null : subline = (status.getMessage() == null || status.getMessage().isEmpty()) ? null :
status.getMessage(); status.getMessage();
Uri.Builder builder = Uri.Builder builder = Uri.parse("content://" + AUTHORITY + "/icon").buildUpon();
Uri.parse("content://com.nextcloud.android.providers.UsersAndGroupsSearchProvider/icon")
.buildUpon();
builder.appendQueryParameter("shareWith", shareWith); builder.appendQueryParameter("shareWith", shareWith);
builder.appendQueryParameter("displayName", displayName); builder.appendQueryParameter("displayName", displayName);