-
Notifications
You must be signed in to change notification settings - Fork 222
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable massive amount of tabs tray customization options! #65
Enable massive amount of tabs tray customization options! #65
Conversation
Two issues with the top tab tray (not directly related to this pr):
|
@miDeb the first point I will address in a new PR. The second one I am not going to (at least for now). I can see that in a few scenarios the animation is still going to the bottom. I feel that because this is a hack of the BottomSheetBehavior, some of the behavior in TopSheetBehavior still corresponds to the original Bottom sheet one. Not sure where the issue is. It may be possible to fix but I could not find out when I investigated it, so unsure if it is fixable.
Good catch! I always tested with 3 or more tabs, so this issue never occured to me. Unfortunately this is most likely impossible to fix. The Because GridLayoutManager does not support stack from end this is impossible to fix. Now, you may wonder why not just reverse the list of tabs and do nothing else by doing something like So, due to the above limitations I am simply going to disable reverse layout for compact tabs unfortunately. |
#69 addresses the issues raised above (except the top sheet behavior issue). |
@abhijitvalluri I figured out a way to fix the top tab tray animation! #72 It wasn't related to the custom |
You people are doing really great job better than Firefox paid devs👍👍 |
Hey @abhijitvalluri, I am working on Grid View on Fenix in mozilla-mobile#15115. Would you be interested in upstreaming your changes to Fenix to match the designs? We are slightly time sensitive to finish the issue in roughly less than a week to make the October Release with enough time to QA and user test. In the meantime, I want to acknowledge your amazing work here and make sure you know I will be basing it off your PR, adding you as a co-author, and will do anything else in my power to make sure we acknowledge your contribution. Thanks! |
@gabrielluong that sounds great! Feel free to base your PR off my code here. I'll be happy to see this feature in the official firefox as well! Do you mean to say that you will make these changes in the upstream Fenix code or are you requesting me to make those changes? If you are working on it, I will let you continue working on the code and make the changes. You may be more aware of how to incorporate this properly in a mozilla-compatible fashion. I am happy to help and explain any of the code I wrote. 🙂 |
@abhijitvalluri My initial request was to see if you wanted to upstream your changes (by you). Otherwise, I wanted to let you know that I would be willing to do it with all the kudos given. Also, I wanted to convey that we're looking to release this feature for the October release with enough time for it to be in the build for QA and user testing time. So, there is a bit of a time pressure for the work (needed by either of us), and I wanted to get that across because if you chose to upstream it. Thanks! |
This PR enables a totally insane amount of customization options for the tabs tray. For those who don't know, the "Tabs Tray" is the UI element that pops up (as a Bottom Sheet by default) with the list of open tabs, a button to save them to a collection and (if enabled in the secret settings) your synced tabs from other devices.
Customization options
This PR enables the following customization options from the "Customize" menu item in settings:
firefoxiceweasel (pending name change) way!Note that this PR incorporates all the customization options implemented in #58 by @miDeb and adds a lot more options on top of that!
Default configuration
The default configuration on a fresh install is:
This setup gives you the original Fenix layout, hence it makes sense to use this configuration to make the UI similar to Fenix for the least disruption.
In addition to these customization options, I updated the layout in the list view (i.e. non-compact tabs view) to show the site favicon as well.
Finally, I tweaked the "Customize" settings page to add dividers between sections so that it is easier to read and navigate. Given that we are adding a lot of settings in this page, it becomes very busy and difficult to follow without these dividers.
This is the most configuration I can enable and willing to enable. There is not much more to do, and this was already quite a pain! 😅
NOTE: I disabled a bit of code in
TabTrayView.kt
that was causing a crash when accessibilty settings (such as TalkBack) is enabled. This crash is related to this issue on the upstream Fenix repo that I created: mozilla-mobile#14540. When the issue is resolved upstream, we will need to put some effort to merge it as it will very likely cause lot of merge conflicts!Screenshots
Customization options (with default configuration enabled)
Various tabs tray layouts (not exhaustive)