Commit Graph

242 Commits (48ea10cd9d62ae924757a528656265f5805019f1)

Author SHA1 Message Date
Jeff Boek 58ca5d0e3a For #10341 - Always show collections placeholder with new tab tray enabled 4 years ago
Mihai Branescu 6f97e75579 For #8643 and #7606 - illustrations are now connected to their radio buttons 4 years ago
Mihai Branescu cde31cf785 For #8643 and #7606 - Changed toolbar picker illustrations according to theme 4 years ago
Mihai Branescu 16b7a9399b For #8643 and #7606 - Changed theme picker illustrations according to theme 4 years ago
Mihai Branescu 4c0af91b7b For #8643 and #7606 - Changed tint for onboarding icons 4 years ago
Jeff Boek a8a90bd4d6
For #1063: Put tab tray behind a feature flag and hidden pref (#10313)
* For #1063 - Adds feature flag and pref for new tab tray

* For #1063 - Swaps add tab to tab tray button when newTabTray is enabled

* For #1063 - Creates hidden preference to use new tab tray

* For #1063 - Hides tabs on home screen when setting is enabled

* For #1063 - Navigate to new tab tray from browser with setting enabled

* For #1063 - Fixes regression where we dont show the new tab message with no tabs and no collections

* For #1063 - Fixes crash when toggling to private mode on the home screen

* For #1063 - combines both settings. Cleans up lint errors
4 years ago
mcarare 1aa473b112 For #9913, For #9914: Remove touch delegate when button is disabled. 4 years ago
mcarare e830da59b7 For #10180: Remove touch delegate when button is disabled.
Also refactored multiple if's into a when.
4 years ago
mcarare 2edd4b39a4 For #9913, For #9914: Remove button when disabling it.
Setting visibility to GONE allows clicks to parent view in that space.
4 years ago
mcarare cc67de29bf For #10091 Also disable play/pause button when hiding it. 4 years ago
ValentinTimisica da3fca0f29 Fixes #10109: Adds content description for browse privately card content 4 years ago
ekager c4e83367f6 For #6832 - Fix various fragment not attached to a context crashes 4 years ago
Sawyer Blatz dce16964c0
For #9208: Adds in-product prompt to homescreen (#9836) 4 years ago
ekager 66d9a24b28 Closes #9928 - Updates private browsing text description 4 years ago
ekager 5d51c4f059 Don't use ProcessLifecycleOwner for view-tied consume 4 years ago
Sawyer Blatz 8185ba793e
For #9857: Create button style (#9858)
* For #9857: Creates text button style

* Adds lint check

* Fixes onboarding cards
4 years ago
Jeff Boek 4cbb9aebaf
Cleans up nav_graph.xml (#9829)
* For #9751 - Cleans up homeFragment directions

* For #9751 - Uses global actions for fragments not owned by homeFragment

* For #9751 - Cleans up SearchFragment directions

* For #9751 - Removes settings action from DeleteBrowsingDataFragment

* For #9751 - Removes browser action from SettingsFragment

* For #9751 - Adds ManagePhoneFeature global action

* For #9751 - Clean up unused deletebrowsingfragment actions

* For #9751 - Cleans Up HistoryFragment actions

* For #9751 - Removes Home -> Search action

* For #9751 - Removes the Bookmark -> Browser action

* For #9751 - Cleans up bookmark fragment actions

* For #9751 - Cleans up actions from ShareController

* For #9751 - Removes defaultBrowserFragment to browserFragment action

* For #9751 - Removes about -> browser action

* For #9751 - Adds global action to TrackingProtectionFragment

* For #9751 - Removes exception -> browser action

* For #9751 - Removes login -> browser action

* For #9751 - Fixes LoginFragment directions

* For #9751 - Removes ExternalAppBrowser directions

* for #9751 - Cleans up actions

* For #9751 - Fixes unit tests

* For #9751 - Addresses nits in PR
4 years ago
ekager b8fba63be4 For #9890 - Do not display full screen snackbar with toolbar padding 4 years ago
mcarare 177baf58a8 For #9798: Disable buttons on hiding and enable on showing.
This is triggered on collection expanding or shrinking that is animated.
The animation has android:fillEnabled="true" android:fillAfter="true".
This interferes with set visibility to gone and the click still triggers.
Disabling button avoids changing animation or force clearing it.
4 years ago
Mihai Adrian dfded8e69c
For #9687: Refactor onboarding cards to follow app architecture (#9743)
* For #9687: Refactor onboarding cards to follow app architecture

* For #9687: Update unit test to new controller parameters
4 years ago
Sawyer Blatz e3ed7ed268
Issue #9128 & #9222 & #9499: Refactors snackbar creation and fixes placement (#9628) 4 years ago
codrut.topliceanu 3d1d146c94 For #9549 - Scrolling to top sites now includes header. 4 years ago
David Walsh d989616f62 Add top sites heading to home screen 4 years ago
mcarare ab78951146 For #9496: Vertically align collection name and icons to collection icon 4 years ago
Sebastian Kaspari 02aabea14a Update to new feature-media API. 4 years ago
mcarare 18533d3434 For #8764: Use list component for items in collections 4 years ago
mcarare 62bbbd9e37 For #8764: Update collection design, including list elements 4 years ago
Sebastian Kaspari 0f0d56e60a Issue #5208: Use new tab/collection restore API. 4 years ago
mcarare 756b1fbadd For #9140: Remove drawable from title in empty state panes 4 years ago
codrut.topliceanu 030bd38631 For #8561 - Scroll to topSites on app cold start 4 years ago
David Walsh fc67747409 Show the collections header when there are no collections 4 years ago
mcarare 320fc4e4ae For #8788 Use Flexbox instead of Grid manager for top sites 4 years ago
mcarare f9e85e78af For #6607 Update button theming in no tab pane 4 years ago
mcarare cfe4f11864 For #6607 Update button theming in no tab pane 4 years ago
Harshal Lele e318cd7d15 fix #8135 - remove getColorFromAttr 4 years ago
Michael Comella db57e123b9 For #8797: Do not allow nested scrolling on top sites. 4 years ago
mcarare 2bb2061931 For #8766: Show collections only when tabs are open or collection exists 4 years ago
Sawyer Blatz e96732604b For #167: Improves home to browser animation 4 years ago
Michael Comella 9ed43b60b6 For #7781: instrument visual completeness for top sites.
Eyeballing my output in *Debug builds on my P2, this adds approximately 115ms
or slightly less from first frame drawn to visually complete time.
4 years ago
mcarare df80a5240b For #6607 Add button to no tab content pane 4 years ago
Mihai Adrian 9612c3f16d
For #8540: Fix ETP options not being correctly applied (#8688) 4 years ago
mcarare 314bee2abd For #8627: Add proper content description to ETP card clickable areas 4 years ago
mcarare cc47bc4e1e For #8655: Show top site context menu below top site title 4 years ago
mcarare a5ac7304bb For #8523: Also disable radio buttons clickable area when ETP is off 4 years ago
ekager b72550c28a For #8126 - Adds default top sites 4 years ago
mcarare 372b1e7f0e For #6980: Update Private browsing card.
Added test to description.
Added link to settings.
Updated unit tests.
4 years ago
mcarare 1168fbd638 For #8299: Select current ETP policy set on card creation 4 years ago
mcarare 3ea5b08135 For #8190: Add animation to ETP policy selection 4 years ago
mcarare 5bd5f81559 For #6980: Add onboarding Toolbar position picker card 4 years ago
Tiger Oakes 5faa22d611
Use createBlendModeColorFilterCompat (#8129) 4 years ago
mcarare 9d993cae92 For #8146: Extend radio buttons clickable area to title and description 4 years ago
Mohammaduvez 00d7f4c91c
Fixes #5711 Added tint to onboarding icons (#8093)
* Added tint to onboarding icons and udpated finish button tint

* Replaced tint parameter with onboarding_card_icon color in setOnboardingIcon
4 years ago
Marc Leclair 72007590f7 #7700 squash commit and fixing toolbar to switxh to top with coordinatorlayout 4 years ago
Grisha Kruglov 3f9ed2992c Bump to a-s 0.50.0 4 years ago
Mihai Adrian 4eb71ce235
For #6980: Update ETP onboarding card (#7958) 4 years ago
ValentinTimisica 0a76fdaa58 For #7289: Adds telemetry for selecting dark theme 4 years ago
Mihai Adrian 24396d174f
For #6980: Add What's new card (#7952) 4 years ago
Gabriel Luong f93e141d52 For #7525 - Add telemetry for opening a top site in normal and private mode and removing a top site 4 years ago
Gabriel Luong 192eecdf5b For #6758 - Part 7: Add menu for opening a top site in private tab and removing a top site 4 years ago
Gabriel Luong 9ecb67e783 For #6758 - Part 6: Add top site view 4 years ago
Chenxia Liu e5164e3670 For #6980 - Pre-land string changes to onboarding cards. 4 years ago
Mihai Carare cd853d0d8f For #7029: Navigate to Search Fragment when pressing Start browsing 4 years ago
liuche 904098387a
Issue #7093 - Pre-land strings for new onboarding cards. (#7747) 4 years ago
Tiger Oakes 75b87334fa
Change type for OnboardingAutomaticSignIn (#7474) 4 years ago
Sawyer Blatz 9a693f6c11
For #7000: Fix inverted media telemetry (#7368) 4 years ago
Josh Vocal 43354489a1 For #7253 - Replace anko setters 5 years ago
David Walsh e727ae5d7e Fix 5366 - Use VectorDrawableCompat for all imagery (#7221)
* Fix 5366 - Use VectorDrawableCompat for all imagery

* Fix detekt lint issues

* Restore previous comment contents
5 years ago
Patrick Martin 71880705df For #5711 - Onboarding colours have contrast issues 5 years ago
kglazko 300d8317e1
Issue 5366 Vector Drawable Compat (#6904) 5 years ago
Gabriel 56b21426eb
For #5574 - Migrate SessionControl to LibState (#6651)
* For #5574 - Part 1: Port TabAction.SaveTabGroup to TabSessionInteractor and SessionControlController. (#6651)

- Introduces the TabSessionInteractor, SessionControlInteractor and SessionControlController classes.
- Removes the TabAction.SaveTabGroup.

* For #5574 - Part 2: Port TabAction.PrivateBrowsingLearnMore to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 3: Port TabAction.ShareTabs to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 4: Remove unused TabAction.Share and TabItemMenu (#6651)

In #2205, the tab overflow button was removed which would have shown the
TabItemMenu when clicked. So, we can remove TabItemMenu since it is not
used and as a result, we can also remove TabAction.Share since there are
no consumers.

* For #5574 - Part 5: Port TabAction.PlayMedia and TabAction.PauseMedia to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 6: Port TabAction.Select to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 7: Port Onboarding.Finish to OnboardingInteractor and SessionControlController (#6651)

* For #5574 - Part 8: Port TabAction.Close and TabAction.CloseAll to TabSessionInteractor and SessionControlController (#6651)

- Removes TabAction

* For #5574 - Part 9: Port CollectionAction.Delete to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 10: Port CollectionAction.ShareTabs to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 11: Port CollectionAction.AddTab and CollectionAction.Rename to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 12: Port CollectionAction.RemoveTab to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 13: Port CollectionAction.OpenTab to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 14: Port CollectionAction.CloseTabs to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 15: Introduce a HomeFragmentStore (#6651)

- We will hook up the HomeFragmentStore in later parts.
- Removes List<Tab>.toSessionBundle(context: Context) since it is unused.

* For #5574 - Part 16: Port CollectionAction.Collapse and CollectionAction.Expand to CollectionInteractor and SessionControlController (#6651)

- We assume the store is hooked up to the SessionControlController in this part,
but this work will be done in a later part.
- Removes CollectionAction.

* For #5574 - Part 20: Remove the architecture module. (#6651)

* For #5574 - Part 17:  Remove duplicate subscribeToTabCollections in BrowserFragment.kt (#6651)

There is a duplicate call of subscribeToTabCollections() in both HomeFragment and BrowserFragment.
In this patch, we remove the call in BrowserFragment to avoid passing the HomeFragmentStore to
BrowserFragment in order to dispatch the CollectionsChange event.

* For #5574 - Part 18: Delete SessionControlComponent and fix TabCollection and Tab imports (#6651)

* For #5574 - Part 19: Use the new HomeFragmentStore in the HomeFragment (#6651)

- Renames SessionControlUIView to SessionControlView

* For #5574 - Part 21: Fix white screen on home fragment (#6651)

* For #5574 - Part 22: Fix formatting in SessionControlInteractor and replace See with @see in SessionControlController (#6651)

* For #5574 - Part 23: Move to metrics.track call to the beginning of handleCollectionRemoveTab (#6651)

This ensures that the metrics.track will be called immediately before the tab is removed from the collection.

* For #5574 - Part 24: Use the sessionManager getter in SessionControlController (#6651)

* For #5574 - Part 25: Use mapNotNull in List<Tab>.toSessionBundle (#6651)

* For #5574 - Part 26: Simplify closeTab and closeAllTabs functions by assigning a deletionJob constant (#6651)

* For #5574 - Part 27: Replace listOf() with emptyList() in removeAllTabsWithUndo (#6651)

* For #5574 - Part 28: Replace the Context parameter with the HomeActivity in SessionControlController (#6651)

* For #5574 - Part 29: Add test for HomeFragmentStore, DefaultSessionControlController and SessionControlInteractor (#6651)

* For #5574 - Removes running CI against the architecture debug build varient
5 years ago
mcarare 41ccb02933 For #6516 On browsing mode change empty tab list before displaying new list 5 years ago
mcarare c5f18e0f96 For #6629 Align Private Browsing mode to UX specs 5 years ago
Severin Rudie 8d68317388
4844 fix url elision (#6588)
* For #4844: add test cases for url elision

* For 4844: implement toShortUrl to pass test cases

* For 4844: update plumbing to use toShortUrl

* For 4844: adds/handles suggested url elision test case
5 years ago
David Walsh 9d5c03c067 Use consistent verbiage with regard to opened tabs (#6550) 5 years ago
Severin Rudie aa8642f534
#4596 migrate collections (#5911)
* For #4596: move code from CollectionCreationComponent to CollectionCreationStore

Other than adding comments, no changes were made. The code will be updated in a following commit. This is in order to make the commit diff more readable.

* For 4596: update CollectionCreateStore to libstate

* For 4596: copied CollectionCreationUIView into CollectionCreationView

Otherwise, no code was changed. The next commit will update this code. This is in order to make the commit diff more readable.

* For 4596: update CollectionCreationView to LibState

Note that the minimal changes possible to enable migration were made.  Refactoring will happen in a later commit.

* For 4596: updated CollectionCreationTabListAdapter to work with the new View

* For 4596: updated SaveCollectionListAdapter to work with the new View

* For 4596: implemented CollectionCreationController

For now, it has an identical interface to the interactor. In a later commit several of its responsibilities will be moved around, some to the interactor and some to the reducer

* For 4596: copied over previous reducer code

No other changes were made. The code will be updated in the following commit. This is done to make changes more readable for the reviewer

* For 4596: update reducer code param names

Otherwise, no changes at this time

* For 4596: add arguments to CreateCollectionFragment in nav_graph

These will be used to replace the current CreateCollectionViewModel, which shares data between fragments in a way that doesn't fit within our architecture.

* For 4596: pass arguments to collection via transaction instead of VM

The VM will be removed in a later commit

* For 4596: update BrowserToolbarController to share state to collection via its Direction

* For 4596: removed CreateCollectionViewModel

* For 4596: test tab retrieval in CreateCollectionFragment

* For 4596: fix crashing CreateCollectionFragmentTest

* For 4596: removed classes create collection classes used by old architecture

* For 4596: collection interactor rename + kdoc

* For 4596: moved collection interactor interface

* For 4596: renamed CreateCollectionFragment

All related classes followed the pattern of CollectionCreationX

* For 4596: kdoc CollectionCreationController

There's no effective difference between these calls and their interactor equivalent, so I linked to them

* For 4596: fix bug that caused rename to not work

* For 4596: removed unused collection actions

These were unused before the LibState refactor

* For 4596: kdoc StepChanged

* For 4596: removed todos about moving logic to the reducer

saveTabsToCollection: this could be moved, but that would involve creating a new action. SaveCollectionStep should probably be refactored out, so adding this layer of indirection seemed counterproductive

handleBackPress: needs to be able to call dismiss(). The reducer doesn't (and shouldn't) be able to do that, so this needs to live here

stepBack: called by handleBackPress. See above

* For 4596: wrote tests for CollectionCreationController#stepback

* For 4596: fixed tests broken by changes to collections

* For 4596: small readability refactor for CollectionController#stepBack

No change to functionality (see tests)

* For 4596: broke apart CollectionView#update

There's probably a lot more that could be done here, but smaller changes were made to reduce scope

* For 4596: remove unnecessary todos

It looks like we don't follow the suggested pattern in this project

* For 4596: test CollectionCreationController#normalSessionSize

* For 4596: updated naming in CollectionCreationController per review
5 years ago
Mihai Adrian fbec001e28 For #1383: Fix updating description of close button on title change. (#6020) 5 years ago
mcarare 86217eb105 For #5872 & #6075: Set TabHeader buttons to invisible instead of gone.
At least one button has to be invisible instead of gone to keep layout height.
Tabs overflow button kept gone to avoid empty space on view end in private mode.
5 years ago
MozLando bb22fb3092 Merge #5507 #5846
5507: For #1383 Added tab title to close button content description r=ekager a=mcarare


### Pull Request checklist
<!-- Before submitting the PR, please address each item -->
- [x] **Quality**: This PR builds and passes detekt/ktlint checks (A pre-push hook is recommended)
- [ ] **Tests**: This PR includes thorough tests or an explanation of why it does not
- [x] **Screenshots**: This PR includes screenshots or GIFs of the changes made or an explanation of why it does not
- [x] **Accessibility**: The code in this PR follows [accessibility best practices](https://github.com/mozilla-mobile/shared-docs/blob/master/android/accessibility_guide.md) or does not include any user facing features

### After merge
- [ ] **Milestone**: Make sure issues finished by this pull request are added to the [milestone](https://github.com/mozilla-mobile/fenix/milestones) of the version currently in development.

### To download an APK when reviewing a PR:
1. click on Show All Checks,
2. click Details next to "Taskcluster (pull_request)" after it appears and then finishes with a green checkmark,
3. click on the "Fenix - assemble" task, then click "Run Artifacts".
4. the APK links should be on the left side of the screen, named for each CPU architecture

5846: For #3604 Snackbar messages for closing tabs use closed instead of deleted r=sblatz a=mcarare


### Pull Request checklist
<!-- Before submitting the PR, please address each item -->
- [x] **Quality**: This PR builds and passes detekt/ktlint checks (A pre-push hook is recommended)
- [x] **Tests**: This PR includes thorough tests or an explanation of why it does not
- [x] **Screenshots**: This PR includes screenshots or GIFs of the changes made or an explanation of why it does not
- [x] **Accessibility**: The code in this PR follows [accessibility best practices](https://github.com/mozilla-mobile/shared-docs/blob/master/android/accessibility_guide.md) or does not include any user facing features

### After merge
- [ ] **Milestone**: Make sure issues finished by this pull request are added to the [milestone](https://github.com/mozilla-mobile/fenix/milestones) of the version currently in development.

### To download an APK when reviewing a PR:
1. click on Show All Checks,
2. click Details next to "Taskcluster (pull_request)" after it appears and then finishes with a green checkmark,
3. click on the "Fenix - assemble" task, then click "Run Artifacts".
4. the APK links should be on the left side of the screen, named for each CPU architecture

Co-authored-by: mcarare <mihai.carare.dev@gmail.com>
5 years ago
Mugurell 8f0325c05b For #3584 - Check if menu is open before showing a new one (#5674)
Could have implemented this check (if menu is showing) inside the show() method
of BrowserMenu but this would mean the client (us) would go to the process of
building a new menu and then trying to have it displayed only for this to be
ignored by BrowserMenu in a somewhat opaque way.
Having this check done as soon as possible offers us full control and avoids
the unnecessary steps for building an already shown menu.
5 years ago
ekager f6285ad5f8 For #3846 - Pass in updated session icon to tabs 5 years ago
Prat T fe648a0b99 Fixes #5351 - use session icon in tab view on home 5 years ago
ekager 0b01635ce0 For #2874, #5375, #5131 - submitList workaround for Android 5 + 6 5 years ago
Jeff Boek 00d1be97ac For #561 - Wires up add tab button inside the bottom bar 5 years ago
Jeff Boek b16754d78a For #561 - Adds add tab and menu button to bottom bar
- Adds space between wordmark and session control component
5 years ago
mcarare bfe8bf4663 For #1383 Added tab title to close button content description 5 years ago
Mihai Adrian c7c752cabb For #5356 Improves private browsing "common myths" link accessibility (#5479)
Added separate TextView for link text
Used UnderlineSpan to show text as link
Split string private_browsing_placeholder, one for each TextView
Set clickListener on TextView so it can be accessed via Talkback
5 years ago
Tiger Oakes 8c30200ced Only use Context.settings() function (not getter) (#5335)
Remove unused String extensions
5 years ago
Tiger Oakes cb7701584f No issue: Extract home fragment mode (#5343) 5 years ago
Sawyer Blatz 4a6e647167
For #5197: Adds telemetry for media controls (#5266) 5 years ago
Mihai Adrian a1c8fc0698 For #3731 Improved UX for opening tabs from a Collection (#5427)
* For #3731 Changed order of items for a collection's overflow menu

* For #3731 Changed the order tabs open to keep same order from collections
5 years ago
Sawyer Blatz 999d3cb963 For #1114: Show playing tab 5 years ago
Tiger Oakes b77c4d2e2e Clean up SupportUtils 5 years ago
Mihai Adrian a31eb1f371 Code Health #4883: Refactored accessing settings by using Context extensions (#4973) 5 years ago
Mihai Adrian ed0b6bd5ef For #4193 - Makes close button for tabs more accessible (#4442)
* fixes #4193 - made close button for tabs more accessible.

set recommended minimum size for accessibility 48x48, while keeping image size the same
removed margin from button and text as it was not needed anymore
aligned close button in center of tab to be visual consistent with alignment of favicon and more visual accessible

* Fix margins
5 years ago
Sebastian Kaspari 3a35233ac0 Remove ThumbnailsFeature. (#5127)
We currently do not use thumbnails anywhere in the app. Not using the feature means we are
not taking thumbnails on every page load which means we are saving memory and CPU cycles.
5 years ago
Yeon Taek Jeong d87b8a8a5c
For #4658: Add some private browsing mode telemetry (#4968) 5 years ago
Tiger Oakes c475bc87cf Move classes out of top-level package 5 years ago
Yeon Taek Jeong 6f899c7fb5
For #2834: Delete all Private Tabs redesign (#4787) 5 years ago
Tiger Oakes 33f3b14c29 Adds setters and property delegates in `Settings` (#4809)
* Change Settings to use setters

* Add delegate for shared preferences
5 years ago
Emily Kager f71106cb51 Closes #3860 - Update description text for collections 5 years ago