Commit Graph

4009 Commits (56b4491e814a476d7a2260be60a73f909b299557)

Author SHA1 Message Date
Mugurell e4489b8d7d For #21593 - Persist stories categories selections in a Proto DataStore
A fast and easy solution with all the ACID requirements.
Also supports easy migrations if later the data we need persisted changes.
3 years ago
Mugurell 565beb88c9 For #21593 - Refactor out "isSelected" from PocketRecommendedStoriesCategory
Having the list of categories and the list of selected categories separate in
State allows updating them independently.
3 years ago
Jonathan Almeida 061de54291 Issue #21576: Hide 'Other' title when there are no search groups 3 years ago
Mugurell 361673ae3e For #21626 - Avoid showing story invalid properties 3 years ago
Arturo Mejia 2b363b9868 For #21618: Integrate Nimbus with MR2 Home Page to enable experimentation 3 years ago
Arturo Mejia ebd336501b For #21611: Add jump back in Contextual Hints 3 years ago
Christian Sadilek 8f187af9ae Make search term grouping tolerant to (parent tab) navigation
Co-authored-by: Grisha Kruglov <gkruglov@mozilla.com>
3 years ago
Elise Richards 76c0c4ad14 For #21648: match Pocket sections on home to designs 3 years ago
Jonathan Almeida c877a25400 Issue #21641: Do not add a group of only one tab 3 years ago
Noah Bond aa28b6f142
For #21360 - Added toggle for search term tab groups (#21615)
* For #21360  - Added toggle for search term tab groups

* For #21360 - Lint cleanup

* PR: Added missing licenses and possibly fixed UI test

* PR: Added a "scrollTo" to potentially fix a UI test

* PR: Added potential fix for alwaysStartOnHomeTest

* PR: Added temporary ignore to alwaysStartOnHomeTest

* PR: added missing ignore comment

* For #21360 - Added missing feature flag driven visibility logic

Co-authored-by: Sebastian Kaspari <s.kaspari@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
3 years ago
Elise Richards c7067a50cb For #21646: Update section titles and customize button name on home 3 years ago
Elise Richards 3a2b9e5d2b
For #21643: Pre-land strings for inactive tabs CFR. Update section title for normal, non-search group tabs. (#21645) 3 years ago
Christian Sadilek fafa72c0ff Allow opening pocket stories when search dialog is active 3 years ago
Roger Yang 920376ee5b Close #21610: Update Strings for Tab Settings 3 years ago
Roger Yang 1092383231 No issue: Make sure jump back in group always have more than one tab 3 years ago
Gabriel Luong 15d1a0aa17 For #21551 - Add delete history metadata in the History view
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
3 years ago
Elise Richards c60de0bc6c For #21287: long press menu on recently visited homescreen groups 3 years ago
Arturo Mejia ca30f518d8 For #21608: Update strings for home screen dialog features 3 years ago
Grisha Kruglov 0d9e2b3a36 Do not show home screen behind search if we have search terms
Home screen isn't actually visible in case we're displaying awesomebar
search results. The navigation is thus unnecessary and actually causes visual
jankiness as we display home for a moment before covering it up with
search results.
3 years ago
Noah Bond 25d0696101
Inactive tabs changes (#21524)
* Issue mozilla-mobile#21319 - Moved inactive tabs to the top of the normal tabs tray.

* Issue mozilla-mobile#21319 - Added a delete icon to delete ALL inactive tabs.

* Issue mozilla-mobile#21319 - Changed default inactive time period to 14 days

* Issue mozilla-mobile#21319 - Hooked inactive tabs setting to UI code

Inactive tabs setting is also disabled when the user has selected the one day or week auto-close tab setting.

* Issue mozilla-mobile#21319 - File and Lint cleanup

* PR: Fixed bug causing grouped tabs to also show in "Other" when marked as inactive but inactive is OFF in Settings

* PR: Fixed lint warnings

* PR: Removed redundant feature check

* PR - Ignore test until search term tab groups switch is done
3 years ago
Mugurell 53d4336939 For #21592 - Don't topup with general stories 3 years ago
Mugurell ea6d5e3d38 For #21562 - Snap to next item when scrolling
This works by replacing the fling animation with snapping to the next item in
the scroll direction.
3 years ago
Michael Comella 365983d4b0 For #21294: suppress MaxLineLength in Fact.toEvent.
These double comparisons are easier to read and see the pattern of on one line
so I'd rather keep them on one line. Additionally, it's difficult to
test each change individually so I'd rather not make additional changes.
To do this, I suppressed the max line length warning.
3 years ago
Michael Comella c10f41164d For #21294: remove allocations in Fact.toEvent.
This commit was generated primarily by a macro that:
- appends `== component &&`
- appends `== item`
- (if applicable) Skips to the ending brace
- Go down one line and move cursor to the front of the line to prep for repeat

My only intervention was to skip extra lines to line it up to run again
and specify how many times in a row it should run.

---

The `to` in this code is an infix function that calls instantiates a
Pair under the hood. Subjectively observed, when this method is called
it generally hits the else case so 35 Pairs are instantiated each call -
that's 560 bytes. This method is called frequently - for example, an estimated
4 times each time a letter is typed on the homescreen and a measured 116 times
in a simple navigation (see the issue). The latter generates an estimated
63.4 KiB.

It was straightforward to remove these allocations so that's what this
change does.

The primary risk from this change is that it's difficult to test each
case to ensure it's working.
3 years ago
Michael Comella d33e38e020 For #21294: change `when (condition) {` `when {` in Fact.toEvent.
This will not compile. However, it enables the subsequent PR to remove
allocations from Fact.toEvent.
3 years ago
codrut.topliceanu 0e88c25df1 For #20762 - Adds grey border to inactive tabs 3 years ago
Elise Richards 02614eb889 For #21574: Move the homescreen onboarding card behind a feature flag 3 years ago
Mugurell e72b7f7cc8 For #21561 - Enable/Disable the feature from the customization menu 3 years ago
Mugurell 0c632dbbdb For #21391 - Final design composables
Fonts are not exactly following the Figma design but do better suit the overall
design since the other fonts are also not respecting the latest specs.
3 years ago
Roger Yang ddd472d143 No issue: Improve rendering of jump back in 3 years ago
Roger Yang 53206df9b6 Close #21552: Remove Extra Subtitle In Jump Back In Item 3 years ago
Roger Yang 8193138015
Fix recent tabs intermittent tests (#21557)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
3 years ago
Mugurell c1f0e5a611 For #21275 - Sort items by how many times they were actually shown 3 years ago
Christian Sadilek 4596d4f905
Do not capture search terms when user navigates away via app (#21527)
Co-authored-by: Grisha Kruglov <gkruglov@mozilla.com>

Co-authored-by: Grisha Kruglov <gkruglov@mozilla.com>
3 years ago
Roger Yang 8a15e8a681 Close #21451: Add active search term tab groups on home 3 years ago
Arturo Mejia f15291757b For #21493 show onboarding dialog for home sections 3 years ago
codrut.topliceanu f338d64a4c For #20762 - Fixes NPE crash with nullchecks for binding 3 years ago
Mugurell ba4c44afcf For #21045: Add categories support 3 years ago
Mugurell ccc0f17e4f For #21045: Cleanup
- stick to one naming scheme: rename articles to stories and use this all
throughout the app.
- add some spacing above the new section (as per the current design)
3 years ago
codrut.topliceanu e8c332964d For #21087: Updates Recently Saved design 3 years ago
Christian Sadilek 54549c49ec Fix mapping between history visits and groups to use createdAt
We currently have a 15s buffer to match metadata to its corresponding
visit. However, a existing metadata record can be updated more than
15s after it was created e.g. when closing the tab and updating
the view time.
3 years ago
Christian Sadilek d830006984 For #20893: Dedupe urls/site in history groups 3 years ago
Gabriel Luong 976dd6ebe1 For #21460 - Rename "Delete from history" to "Remove" for recent visit dropdown menu 3 years ago
Gabriel Luong 90d7927b2f Issue #21117 - Modify layout for items displayed under "Recently Visited" in the HomeScreen to follow latest UX designs 3 years ago
Arturo Mejia c05fbfb6c3 For #21239 improve telemetry values for Allow users to customize their home screen 3 years ago
Travis Long ca069a78d2 Fix logic so `isFirstRun` can be called multiple times on first run 3 years ago
Travis Long c9c28b66c8 [SDK-344] Pass in first-run information to Nimbus for targeting 3 years ago
Gabriel Luong 98b218d964 For #21413 - Remove unused OnboardingPrivateBrowsingViewHolder and OnboardingWhatsNewViewHolder 3 years ago
Sebastian Kaspari cd61ef1c1d Issue #21172: Refactor UI tests accessing awesomebar suggestions. 3 years ago
Sebastian Kaspari 6d99c34f12 Issue #21172: Replace BrowserAwesomeBar view with AwesomeBar() composable. 3 years ago
Gabriel Luong d9847f9525 For #21408 - Pass the corresponding HistoryMetadataKey to openToBrowserAndLoad and addTab use case 3 years ago
Gabriel Luong 2ae7d5d593 For #20893 - Search term groups in history 3 years ago
Michael Comella 3ab1ca8321 For #21126: process performancetest intent for AC too. 3 years ago
Arturo Mejia 3272de1364 For #21239 add telemetry for Allow users to customize their home screen 3 years ago
Christian Sadilek 6f7f284b55 Make sure to only record view time once for a given tab access
Co-authored-by: Grisha Kruglov <gkruglov@mozilla.com>
3 years ago
Grisha Kruglov b7b8de1c2f Use UpdateUrlAction to record viewTime observations
We discovered that in a tab restore scenario we were recording view time
observations that were wrong - we'd record time deltas as-if user was
looking at the page while the browser wasn't running.

This happens because when we record a viewTime observation, we compare
current time with lastAccess time of the tab. In a restore scenario,
that lastAccess time happens to be from when the browser was last
running - which could be days ago.

The simplest solution was to not record a viewTime observation if the
url for a tab didn't change during a load event. To achieve this, we
needed to change which action we were using as a proxy for "navigation
events" - UpdateUrlAction contains the new url, allowing us to compare
against the current tab url.

Alternative solutions would be to keep using loading actions, but
dispatch a lastAccess event before performing a metadata update. This
would have worked, but would result in two lastAccess events being
dispatched for each navigation event instead of just one.
3 years ago
Christian Sadilek 16085b9008 Closes #21388: Only parse clipboard content when search fragment is attached 3 years ago
Michael Comella 7232fedb20 For #21296: add ProfilerMarkers.addForDispatchTouchEvent. 3 years ago
Michael Comella bb632c7b3b For #21299: add duration markers for HomeActivity Create/Start.
We only instrument these methods because they're the only ones that
noticeably long running in the current implementation.
3 years ago
Michael Comella d67bd65f19 For #21299: add duration marker for IntentReceiverActivity.onCreate.
We only instrument onCreate because it's the only one with an
implementation.

While declaring this as a function that accepts a lambda is less
fragile, we've previously had issues with it such as suspected memory
leaks when used for telemetry. Therefore, we go with the simpler
approach.
3 years ago
Michael Comella f8a4113271 For #21299: add markers for all activity lifecycle callbacks.
We implement these all in the same track because between it'd create a
lot noise between this and fragment lifecycle callbacks.
3 years ago
Jonathan Almeida bc7f5d80df Issue #21236: Fixes empty tray visibility logic
This is a bug we noticed after landing search term grouping.

An adapter can submit an empty list of items to the `ConcatAdapter`
early. This has the side-effect of triggering our `observeFirstInsert`
too soon and therefore updating the visibility to show the empty tray
placeholder and never switches back.

Our solution is to keep a constant observer on the adapter so we can
perform the visibility check on every insert/remove.

Co-authored-by: Roger Yang <royang@mozilla.com>
3 years ago
Sebastian Kaspari 6ac10d5209 Issue #21291: SearchDialogFragment: Get URL from clipboard once and not for every state update 3 years ago
Roger Yang fc18fd2520
For #21236: Separate tabs with the same search term into a different section (#21177)
* For #21236: Separate tabs with the same search term into a different section in tabs tray

* Issue #21236: Scroll to selected tab + various tab fixes for groupings

* Issue #21236: Fix failing test

Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
Michael Comella e6560c229d For #21309: add profiler markers on global layout. 3 years ago
Michael Comella cafc23acb1 For #21309: set up HomeActivityBinding the recommended way.
The recommended way is here:
https://developer.android.com/topic/libraries/view-binding

I was concerned with the existing implementation that binding was being
set conditionally.
3 years ago
rxu e6395bff97 Add default topsite 58 for MozillaOnline builds 3 years ago
Arturo Mejia 4e846b3cb6 For #21095 add customize home button on the home screen. 3 years ago
Gabriel Luong 66a31ddbfc Issue #21099 - Update items under "Jump back in" section to the latest designs 3 years ago
Christian Sadilek 2a92bd5942 Sort history metadata on home and allow limiting results 3 years ago
Mugurell a54a4ea20a For #21120 - ImageLoader with a shimmer effect placeholder 3 years ago
Elise Richards 52975b4f05 For #20654: Handle private mode switching from home behind search dialog.
Add tests for controller and interactor to handle private mode switches
3 years ago
Arturo Mejia cbb8f808c1 For #18629: add support for SmartBlock exceptions 3 years ago
Arturo Mejia fe914dc964 For #21226 only show the "Customize Home" menu on home screen. 3 years ago
Arturo Mejia de59a3ec48 For #21211 hide the ETP in custom tabs. 3 years ago
bendk 5ba47a90db
Handle breaking changes from a-s 83.0.0 (#21215) 3 years ago
Noah Bond b3a86e982d Issue mozilla-mobile#20637 - Fixed bug causing the tabs tray to scroll to the wrong tab when opened 3 years ago
mcarare 70247e9456 For #6968: Use close instead of read to close the response stream. 3 years ago
Arturo Mejia d4a212f235 For #21095 allow users to configure their home screen. 3 years ago
Elise Richards 7d481a7836
For #19947: manually add login (#21199)
* [WIP] New Layout for adding login and 'add login' button in 'SavedLoginsListView' to launch it.
Fixed bindings.

* [WIP] Removed "reveal password" button

* [WIP] Added interactor for the add login screen

* [WIP] Trying to check for duplicates

* [WIP] Renaming "addNew..." with "add..."

* [WIP] Check for duplicates

* [WIP] Fixes after merge

* Cleaning up the layout and making edit text for hostname selectable

* Error handling on add login screen. Tests for interactors and controllers

Co-authored-by: Vitaly V. Pinchuk <vetal.978@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
3 years ago
Michael Comella 4fe6a4506d For #21183: remove lazyMonitored wrapper functionality.
We're not using the functionality so there's no sense in doing the work.
However, we keep the wrapper: see the code comments for details.
3 years ago
Arturo Mejia d288502840 For #20892 update connection panel strings 3 years ago
Noah Bond 28b07e7c8b
Issue mozilla-mobile#21140 - Updated recent tab logic to show media tab and second-to-last tab, if the media tab was the last active tab. (#21141)
* Issue mozilla-mobile#21140 - Updated recent tab logic to show media tab and second-to-last tab, if the media tab was the last active tab.

* Fixed RecentTabsListFeatureTest unit test

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
3 years ago
Roger Yang 5d22bb4707 Issue #18711: Telemetry for credit card autofill 3 years ago
Arturo Mejia 4357ebb8aa For 20892 Update connection icons in address bar 3 years ago
czlucius cb6741210b For #18727: Exit PiP when launched externally with Intents 3 years ago
Mickey Moz 4c30483c57
Update Android Components version (#21109)
* Update Android Components version to 93.0.20210901143120.

* For #21043 - Integrate AC changes

* Fix breaking API changes of RestoreAction

Co-authored-by: Mugurell <Mugurell@users.noreply.github.com>
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
3 years ago
Gabriel Luong 9bd6d298f1 For #21078 - Remove unused creditCardsFeature feature flag 3 years ago
Elise Richards 6cb872cd98 Remove banner open in app telemetry 3 years ago
Elise Richards c9626019ef Remove search suggestions in private telemetry 3 years ago
Elise Richards 19d8f58b47 Remove user specified search engine telemetry 3 years ago
Elise Richards 7653691d30 Remove private browsing shortcut telemetry 3 years ago
Elise Richards cb9bbd2650 Remove private browsing mode telemetry 3 years ago
Elise Richards d137becd48 Remove tip telemetry 3 years ago
Elise Richards fa811cb244 Remove enable private search suggestions telemetry 3 years ago
Elise Richards de992994de Remove open links in private tab telemetry 3 years ago
Elise Richards f1cf6f4651 Remove find in page telemetry 3 years ago
Elise Richards 1f94dfa59b Remove total uri count telemetry 3 years ago
Elise Richards 87530ab9a4 Remove about page telemetry 3 years ago
Elise Richards 1b066458d5 Remove downloads management telemetry 3 years ago