feat: improve tablet and large-screen navigation layout#16764
feat: improve tablet and large-screen navigation layout#16764mykh-hailo wants to merge 1 commit intonextcloud:masterfrom
Conversation
|
@alperozturk96 Could you please check my PR for the tablet view? |
cef7b13 to
a15915f
Compare
There was a problem hiding this comment.
Hello, thank you for your PR.
Since these changes affect multiple screens, they will require thorough testing. To help the review process, could you please limit the scope to a single screen with minimal changes for now? Once that is reviewed and validated, we can proceed incrementally.
Additionally, please:
- Exclude any
.salivefiles from the PR (I updated gitignore) - Remove comments that restate obvious information (e.g., field descriptions that are self-explanatory)
- Follow camelCase naming conventions (e.g.,
sidebarQuotaViewinstead ofmSidebarQuotaView)
Thanks again for your contribution.
|
@alperozturk96 Thank you for the updates. I initially tired to create a patch that only affects Could you advise on a simpler way to handle this so it's easier to test? |
81352c5 to
fbbf0c4
Compare
Signed-off-by: mykh-hailo <kristianderonta0205@gmail.com>
4136dae to
97bafb0
Compare
|
@alperozturk96 I'd appreciate it if you provide me any updates on this PR. |
Thank you for the contribution, this is definitely an improvement and adds value. For the feedback, I’ll need to discuss with the team first. We have some pending big PRs that touch the same files, and since this is a significant change, we want to plan how to move forward step by step. I’ll keep you updated once we’ve aligned. Regarding the fragment pushes, I didn’t observe any bugs or crashes, and the app ran as expected. If you’re seeing issues, it might be related to your development environment (for example, Dagger might not include the latest changes). If you do encounter a reproducible bug, please create an issue with the steps and crash logs so we can investigate further. Demo: a.mp4 |
Sorry for missing one thing. |
Summary
This change adapts the main file browser and several activities for tablets and wide layouts (typically sw600dp / w600dp) by using a persistent navigation column next to content instead of relying only on the sliding DrawerLayout pattern used on phones.
Closes: #14871
DrawerActivity is updated so drawer behavior works when the root layout is not a DrawerLayout (e.g. ConstraintLayout with a fixed-width nav region). Alternative layouts under layout-sw600dp align Compose, Navigator, Contacts preferences, Synced folders, and Upload list with the same idea. files.xml is refactored to support the sidebar + content structure and to keep ViewBinding (FilesBinding / drawer_menu) consistent. TrashbinActivity and toolbar_standard are adjusted for the new structure. New sidebar.xml and resource tweaks (bools, dims) support the tablet configuration.
Technical notes
DrawerActivity: Centralizes “menu layout” handling; drawer toggle, ActionBarDrawerToggle, and related APIs run only when the root is aDrawerLayout; optional hamburger visibility when the layout does not use a sliding drawer.files.xml+sidebar.xmlstructure;FileDisplayActivityupdated as needed for binding / initialization.