Skip to content

#591 Groups in user info#16767

Open
penguin86 wants to merge 4 commits intonextcloud:masterfrom
penguin86:feature/591-groups-in-user-info
Open

#591 Groups in user info#16767
penguin86 wants to merge 4 commits intonextcloud:masterfrom
penguin86:feature/591-groups-in-user-info

Conversation

@penguin86
Copy link
Copy Markdown

@penguin86 penguin86 commented Mar 28, 2026

🖼️ Screenshots

Implementation of #591

Notes: the previous implementation used RecyclerView for the list items. That's a sleek implementation and it's very efficient for long lists due to the efficiency in instantiating only the views needed to cover the screen and recycling them when the user scrolls. But in this case, the list barely consists of 6 elements (as I see, all the groups are concatenated in a single item), and in the vast majority of devices they will be all instantiated and drawn anyway, so it doesn't make a real difference.

Obtaining the required result (see "variant 1" in #591 (comment)) with the two "groups" of items while keeping the current structure is possible (playing with cell backgrounds and different row views for the headers), but in my opinion unnecessarily complex, and less maintainable.

I decided to remove the RecyclerView and opt for a simpler implementation, that should be more readable.
Let me know if there is something that could have been done differently and I'll fix it.

🏚️ Before 🏡 After
before after

🏁 Checklist

  • Tests written, or not not needed

penguin86 and others added 4 commits March 28, 2026 16:29
Signed-off-by: Daniele Verducci <daniele.verducci@ichibi.eu>
Signed-off-by: Daniele Verducci <daniele.verducci@ichibi.eu>
Signed-off-by: Daniele Verducci <daniele.verducci@ichibi.eu>
@AndyScherzinger
Copy link
Copy Markdown
Member

Hi @penguin86 I'd be fine with the approach for the sake of simplicity for this PR. However in the long(er) run the recycler view would need to be brought back or be a LazyList when migrating to composables I's day or when adding further fields. Because in the long run we would want to show further/all profile fields, like the Talk app does now, see nextcloud/talk-android#5936 - so the simple approach could else have been to go with the non-separated variant and just add another items for the groups or if one would be two implement the two sections to go with a sectioned Recycler view adapter, see for example https://github.com/nextcloud/android/blob/master/app/src/main/java/com/owncloud/android/ui/fragment/contactsbackup/BackupListAdapter.kt#L82-L114 implementing this for the calendar and contacts backup list.

Not saying you'd have to do any of the above mentioned thoughts - just to discuss and elaborate on the approach - also given you can't anticipate we would want to add further fields in the future to mirror what the Talk client can and does display.

CC @tobiasKaminsky @alperozturk96

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants