Commit Graph

944 Commits (1f633edd7d4436f20ead4ba657b1284b94cca0c6)

Author SHA1 Message Date
Elise Richards 9bfe9b0787
For FNX-22339: Recently saved bookmarks (#19835)
* Title and button for home screen recently saved bookmarks section

Create bookmark item view with favicon and title

* View holders and interactors for recently saved bookmarks

Recent bookmark item view holder binding

Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items

Top level adapter for recent bookmarks section

Retrieve list of recent bookmarks on home

View holders and interactors for recently saved bookmarks

Recent bookmark item view holder binding

Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items

Top level adapter for recent bookmarks section

Retrieve list of recent bookmarks on home

Update list on app start and when bookmarks are added

View holders and interactors for recently saved bookmarks

Recent bookmark item view holder binding

Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items

Top level adapter for recent bookmarks section

Retrieve list of recent bookmarks on home

Update list on app start and when bookmarks are added

Make a use case for retrieving and updating the list of recently saved bookmarks

Add adapter items and define header viewholder binding

Use session interactor for header button clicks. Bind in the adapter

* Retrieve list of bookmarks asynchronously on home

Interactor and controller tests

Address review comments

Split up tests for recent bookmarks

Update to new interactors

Dark mode and light mode styles

Refactor bookmarks home stuff

* Add RecentBookmarksFeature to home

Move interactor to SessionControlInteractor

Clean up lint, styles, and dimens.

* Bookmarks use case tests for retrieving recently saved bookmarks. Linting.

* View holder tests

* Match ux to designs for colors, margins, and scrolling

* Clean up clean up

* Tests for the view bound feature

* Controller test

* Clean up: check state of store in feature tests; ellipsize textviews for bookmark item; remove unused attr; format

Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
Roger Yang 0133f42a15 Closes #19846: Show Default Browser Notification if browser is not default 3 years ago
codrut.topliceanu 9693507ffb For #19131 - Adds kdoc to TopSitePagerPayload 3 years ago
codrut.topliceanu a7f3d34538 For #19131 - Fixes top sites refresh and interactability 3 years ago
mcarare 36b50ea8d9 For #17917: Use View binding in onboarding cards. 3 years ago
Mugurell 5d62fe11a6 For #20046 - Show the last accessed tab in Jump back in 3 years ago
Roger Yang 74c1cc82fb Closes #19921: Update appcompat and fragment dependencies to 1.3.x 3 years ago
Jonathan Almeida 15df06b294 Issue #20054: Update recent tab on title or icon changes 3 years ago
Mugurell ce64c2439d For #19797 - Use the FXA email only if the account is authenticated
An account may exist but it may need to be re-authenticated.
In this case also the email should not be exposed to the app.
3 years ago
Mugurell 1fc3bb84ca For #19797 - Home menu: go to problems page if account exists but not signed in 3 years ago
Arturo Mejia c2439914fa For #19881 add telemetry for start on Home. 3 years ago
Gabriel Luong c0329f3c26 For #19988 - Part 2: Load tab icon from BrowserIcons cache if needed for the recent tab
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
Gabriel Luong ad91f91eb6 For #19988 - Part 1: Move RecentTabsListFeature into recenttabs package
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
Gabriel Luong 9d3cf79051 For #19916 - Add last viewed tab to home screen
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
Christian Sadilek 0c1e712ca8 Issue #17800: Cleanup and fix request desktop site from home 3 years ago
Jonathan Almeida bf3f81d271 Issue #19112: Remove old Synced Tabs code 3 years ago
Jonathan Almeida dc11c334b6 Issue #19112: Remove old tab tray code 3 years ago
Elise Richards 6dbe5acc5b
For #19746 - Remove feature flag for the three-dot menu redesign (#19750)
* Remove feature flag for the three-dot menu redesign

* Remove menu feature flag from unit tests
3 years ago
James Hugman ab678a21ff Add an experiment to demontrate the Feature API
This is not visible in production, but only debug. It shows three variables
being used to change the settings screen (title, icon and title-punctuation).
3 years ago
Mugurell 551031eee3 For #18672 - Renaming a TopSite changes just the title
Previously renaming a TopSite would bind that as a new item and in such update
the entire list. This could potentially leading changes in the list and then
it's ViewPager parent's layout.

This patch switches the code to use the existing TopSitePayload and so do a
partial update of an on-screen TopSite instead of rebind it as a new item.

If a layout is requested while showing <=4 TopSites on the second page, by
having "offscreenPageLimit = 1" the biggest height of ViewPager pages is used
preventing an edgecase where the ViewPager would hide half of the items from
the first page.
3 years ago
kanish671 9e30833506 For #18672 - Rename TopSites even on the second page
Index calculation for notifying changes while renaming a top site in the second
page was being wrongly calculated. Since it is page 2, we would need to take a
mod with the number of top sites per page to get the actual index of the top
site that was being renamed.
3 years ago
mcarare 93c6403882 For #19357: Remove bookmarks experiment and keep star-with-line icon. 3 years ago
Arturo Mejia 9bfb31519a For issue #19290 update to proton icons second batch 3 years ago
Sebastian Kaspari 7d690219ea Issue #19040: Remove Leanplum (Nightly) 3 years ago
mcarare ded686d533 For #19125: Move top site pin net to title. 3 years ago
Elise Richards db76b8fe21
For #19114: check state of sync account when navigating from sync sign in menu item (#19118) 3 years ago
mcarare 8b3a878062 No issue: Rename Event for naming consistency. 3 years ago
Elise Richards 59c94e447c
For #19005: new tab three-dot menu sync sign in (#19037)
* Show synced tabs or sync account in new tab menu

* Sync sign in item navigates to account settings

* Check account auth and get sync item title

* Look for sync sign in item on home menu for UI test

* Sync sign in menu item UI test
3 years ago
Elise Richards 3d226429aa
For #18867: remove "signed in as" string in three-dot menu (#19035)
* Remove signed in as string from sync menu item

* Nav to sync account settings on click

For #18806: navigate to settings account page or sign in on clicking menu item.

* Confirm account exists and retrieve item title

* Remove string
3 years ago
mcarare cea869c276 For #18854: Add metrics for home screen being displayed. 3 years ago
mcarare 0ac78665d5 No issue: Fix indenting in onViewCreated. 3 years ago
mcarare dbae5dd3c0 For #18853: Add metrics for default browser new tab experiment. 3 years ago
mcarare 920c1285e4 For #18856: Add metrics for opening settings screen from home menu. 3 years ago
mcarare 445091db14 For #18815: Expand app bar on onboarding dismissal and browsing start. 3 years ago
MarcLeclair 990bfa7e6d
16900 make navgraph inflation asynchronous (#18889)
* For #16900: implement async navgraph inflation

For #16900: removed nav graph from xml

For #16900: inflate navGraph programatically

For #16900: Made NavGraph inflation asynchronous

For #16900: Changed to block with runBlocking

For #16900: Refactored blocking call into a function

For 16900: NavGraph inflation is now async

We now attach the nav graph (or check if its attached) on every nav call ( an extension function for NavController).
This is done by checking the value of the job stored in PerfNavController.map which keeps track of the job with the NavController as a Key.
If the job hasn't been completed, it will block the main thread until the job is done. The job itself is responsible for attaching the navgraph
to the navcontroller (and the inflation of the latter too)

For 16900: rebased upstream master

For 16900: Rebase on master

For #16900: Fixed Async Navgraph navigation per review comments.

1)The Asynchronous method is now found in NavGraphProvider.kt. It creates a job on the IO dispatcher
2)The Job is tracked through a WeakHashMap from Controller --> NavGraph
3)The Coroutine scope doesn't use MainScope() anymore
4)The Coroutine is cancelled if the Activity is destroyed
5)The tests mockk the blockForNavGraphInflation method through the FenixReoboelectricTestApplication instead of calling the mock every setup()

For #16900: inflateNavGraphAsync now takes navController

For #16900: Pass lifecycleScope to NavGraphProvider

For #16900: removed unused mock

For #16900: Added linter rules for navigate calls

We need linting rules to make sure no one calls the NavController.navigate() methods

For #16900: Added TestRule to help abstract the mocks in the code

For 16900: Fix linting problems

For #16900: Cleaned duplicated code in tests

For #16900: cleaned up NavGraphTestRule for finished test

For #16900: had to revert an accidentally edited file

For #16900: rebased master

* For #16900: Review nits for async navgraph

This is composed of squash commits, the original messages can be found below:

-> DisableNavGraphProviderAssertionRule + kdoc.

Use test rule in RobolectricApplication.

Fix failing CrashReporterControllerTest

Fix blame by -> navigate in tests.

This commit was generated by the following commands only:
```
find app/src/test -type f -exec sed -i '' "/import org.mozilla.fenix.ext.navigateBlockingForAsyncNavGraph/d" {} \;
find app/src/test -type f -exec sed -i "" "s/navigateBlockingForAsyncNavGraph/navigate/g" {} \;
git checkout app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
```

Fix various blame

This is expected to be squashed into the first commit so, if so, it'd
fix the blame.

Move test rule to helpers pkg.

add missing license header

Add import change I missed

fix unused imports

Replace robolectricTestrunner with test rule.

Improve navGraphProvider docs

Remove unnecessary rule as defined by robolectric.

add clarifying comment to robolectric

remove unnecessary space

* For #16900: nit fixes for MozillaNavigateCheck and lint fixes

3 squash commits:
 *Changed violation message and fixed the lint rule for MozillaNavigateCheck
 *Added suppression to NavController.kt
 *Fixed detekt violations

* For 16900: Fixed failing tests

Co-authored-by: Michael Comella <michael.l.comella@gmail.com>
3 years ago
mcarare ba218e638b For #18375: Add experiment for set default browser New Tab card. 3 years ago
Elise Richards 52209673fb
For #18960: Remove nav in homescreen three dot menu (#18962)
* Remove nav in homescreen three dot menu

* Remove back and forward items
3 years ago
Kate Glazko 841dacb69e For 17798: Sync Menu Item 3 years ago
Elise Richards ca33aef036
For #17770: New tab three-dot menu reorder (#18427)
* Create new menu order for new tab

* Add new tab menu navigation. Dynamically update menu when sync auth is needed. Make new tab menu and browser menu consistent.

* Lint

Lint and refactoring tests

* Tests for default toolbar menu

* Feature flag for request desktop site

Add todos for UI test issue 17979

Add todos for UI tests
3 years ago
Mihai Adrian Carare ccfb275b03
For #17800 - Request desktop site from home screen. (#18653) 3 years ago
Kershan 02d70d3837
For #18453 - Show SUMO for default browser deeplink on Android <N
Lower Android versions don't offer the possibility of opening system settings
at a specific preference. In this cases we already shown a sumo article
detailing the manual steps each user is expected to perform to change the
system set default browser.
3 years ago
yichiehc dd09ba64c4
For #18594: Highlight the "Default browser" system setting on Android >= N
Although not public APIs we can use specific extras in the Intent used to open
system settings such that the "Default browser" setting is highlighted to
provide a better UX for users looking to set Fenix as default.
3 years ago
rxumoz 46af52d254
Update top sites to add PDD for MozillaOnline builds (#18615) 3 years ago
Mihai Adrian Carare a539f69cb2
For #18260 - Add pin to default sites. (#18618) 3 years ago
Arturo Mejia 869c99afaa For #15372 Optimize the order and messages of onboarding cards 3 years ago
Michael Comella 62e2fb1aa6 For #18426: add measurement probes for long-running lifecycle methods.
In addition to the existing probes for onCreate, this should cover all
lifecycle methods that take a long time in our profiles.
3 years ago
Roger Yang 27e52b7e3d
Closes #17956: Add top site telemetry to available search engines (#18129) 3 years ago
Jonathan Almeida 05aa948dc7 Issue #17822: Create a tabs tray layout and fragment
Co-authored-by: Kate Glazko <kglazko@Kates-MacBook-Pro.local>
3 years ago
mcarare 62bd3b4f95 For #18009: Correctly report items in adapter for a11y services. 3 years ago
Gabriel Luong 9cca1b93b5 Replace TopSitesUseCases.renameTopSites with TopSitesUseCases.updateTopSites 3 years ago
Christian Sadilek dc002f0508 Remove Session[Manager] references from Fennec intent processors 3 years ago
Jonathan Almeida 2f6fcbf196 Close #13892: Remove Synced Tabs appended to tabs tray 3 years ago
Codrut Topliceanu d56b4a2b92
For #17418 - Added telemetry for Google Default Top Site (#17637)
* For #17418 - Adds channel "ts" to TrackKey

This is used to track if the `InContentTelemetry` is a result of the user using the Google Top Site. It looks for `&channel=ts` within the uri.

* For #17418 - Adds TopSite PerformedSearch back in

* For #17418 - Check now looks for equality with GOOGLE_URL

* For #17418 - Adds test for topSite changes
3 years ago
Sebastian Kaspari f4f5e4b663 Issue #17174: Remove usage of old media APIs. 3 years ago
Christian Sadilek 88facc4608 Closes #17889: Wrong tab selected/reloaded when restored from collection 3 years ago
ekager f6455b0148
Closes #17871 - use viewLifecycleOwner for TopSitesFeature owner on HomeFragment (#17873) 3 years ago
Roger Yang 993cf74e72
Closes #17174: Remove the New Media Session API Feature Flag (#17863) 3 years ago
ekager f5b068a453 For #17785 - Use screenshots setting when adding secure flag 3 years ago
Gabriel Luong a3d401a3b7
For #17418 - Add event ping telemetry for the Google Top Site click (#17862)
Co-authored-by: codrut.topliceanu <codrut.topliceanu@softvision.ro>
Co-authored-by: Gabriel Luong <gabriel.luong@gmail.com>
3 years ago
Roger Yang d434ff13a5
For #17092: Dismiss toolbar menu when configuration change occurs (#17682) 3 years ago
rxu be0382fca7 Pop out privacy notice in first launch in MozillaOnline builds
Add privacy notice related strings

Pop out privacy notice with onboarding

Using embeded geckoview to display details about privacy

Present or hide privacy pop window according to isMozillaOnline

Add activity_privacy_content_display.xml into layoutNotToTest due to EngineView
3 years ago
Mihai Adrian Carare 8993a0acb2
For #17655: Do not pass threshold if showTopFrecentSites is false. (#17657)
* For #17655: Do not pass threshold if showTopFrecentSites is false.

* For #17655: Add unit tests for getTopSitesConfig.
3 years ago
Gabriel Luong 171c466ada For #14302 - Skip one time pages visit from frecent top sites 3 years ago
Christian Sadilek 87d6f32374 Refactor HomeFragment to use browser store 3 years ago
Gabriel Luong 70dc975299
For #17304 - Implement top site search engine attribution (#17580) 3 years ago
ekager 083fe26f57 For #17542 - Removes flash on renaming top site and fixes title not being updated 3 years ago
mcarare af1af358a3 For #14011: Remove new line character and spaces from string. 3 years ago
Christian Sadilek d8c5f8887a Refactor OpenSpecificTabIntentProcessor to use browser store 3 years ago
Christian Sadilek c03e6377ae Remove unused NotificationsIntentProcessor 3 years ago
Jonathan Almeida d3dcf69064 A-C 71.0.20210118134928: Fix breaking API in TabCounterToolbarButton 3 years ago
mcarare edcee71287 For #17400: Select tab opened from collection. 3 years ago
Christian Sadilek 978b555387 Closes #17443: IllegalStateException in startPostponedEnterTransition on HomeFragment 3 years ago
Hakkı Kaan Çalışkan e41cc5a414 For #17303: Move ext fun runIfFragmentIsAttached to utils
move to ext
3 years ago
Gabriel Luong d0fc086fc4
For #16790 - Allow top sites to have an empty name when renamed (#17290) 3 years ago
ekager d5f625c945 For #17177 - Do not show PBM CFR if entering search on home, make sure fragment attached before showing 3 years ago
Sebastian Kaspari d2b8decaeb Switch to new feature-tab-collections API. 4 years ago
mcarare e0c3193162 For #17061: Prevent appBarLayout from leaking. 4 years ago
ekager 1ca34a2bc9 For #16807 - Make sure there's only one instance of search dialog 4 years ago
Codrut Topliceanu 556fea5591
For #15636 - Focus a11y collection on snackbar view tap (#16853)
With accessibility enabled, when adding a site to a collection and tapping "View" on the snackbar, we send a request for focus and an `AccessibilityEvent.TYPE_VIEW_FOCUSED` to the specified collection.
4 years ago
jhugman 9a984f10f1
Add withExperiment extension method to Nimbus (#16926) r=christian, sebastian
* Fixes #16925 Add withExperiment extension method to Nimbus
* Don't call Nimbus at all if not enabled by FeatureFlag
4 years ago
Christian Sadilek faf765a57d Update IntentProcessors after breaking API change 4 years ago
Roger Yang 2ff7ba75c7
Closes #16896: Integrate new MediaSession API to nightly or debug builds (#16909) 4 years ago
Elise Richards 948db6f77b
Reload restored tabs from collection (#16865) 4 years ago
Elise Richards 77f061c362 Closes #8791: Use A-C tab counter and upgrades to A-C 69.0.20201203202830
Upgrades to A-C 69.0.20201203202830 and addresses breaking changes:
- Upgrades androidx workmanager to 2.4.0 in line with A-C.
- RecordingDevicesNotificationFeature was removed
- SearchUseCases accept parent session ID instead of session itself
4 years ago
Codrut Topliceanu 79d1c08402
For #16629 - Fix for collection snackbar View button (#16679) 4 years ago
jhugman 3cd4ff9ac8
Adding menu configuration for A/A experiment and A/B experiment (#16692) 4 years ago
mcarare 451f60b095 For #16353: Do not finish onboarding on search dialog opening. 4 years ago
Sebastian Kaspari 2b759e9d6f Integrate new search code from Android Components into Fenix. 4 years ago
ekager b7fe809ae4 For #16351 - Make homescreen interactive when search dialog is up 4 years ago
rxumoz 409041ae3b
For #16451 - Change default top sites to Baidu & JD in China build (#16515)
* Add top sites related strings

* Change default top sites to Baidu & JD in China build
4 years ago
Codrut Topliceanu 6e4393a199
For #15720 - Remove unused telemetry (#15887) 4 years ago
Mugurell 88bfaaabe7
For #6521 - Remove auto sigin onboarding card (#16315)
With the Fennec -> Fenix migration complete there is no other Mozilla
application that would serve as a custom account provider hence the automatic
signin would not be possible.
Make this more obvious by commenting out the code that would trigger an
onboarding banner for it but keep the code in the app for when #15694 would add
to Fenix the ability to serve as a custom account provider.
4 years ago
ekager bd2c407943 For #4652 - Remove activityViewModels workarounds 4 years ago
mcarare 142d7a418c For #15430: Fix StrictMode death on opening app from widget voice search. 4 years ago
Gabriel Luong 66210469c0
For #9548 - Ability to rename top sites (#16285)
* Ability to rename top sites, closes #9548

* Highlight the "Remove" top site action as destructive

With more menu items in the top site contextual menu, it makes sense to differentiate

* Added test for the top site renaming action

* Fixed lint check (wildcard imports, blank spaces)

* Applied suggestions from code review

* Apply suggestions from code review

Co-authored-by: Gabriel Luong <gabriel.luong@gmail.com>

* Implemented dialog click listener with manual dismiss/cancel

Co-authored-by: Lorenzo Stanco <lorenzo.stanco@gmail.com>
4 years ago
Mihai Adrian Carare 0ee7e1c28d
For # 15929: Remove the search widget discoverability experiment. (#16081)
* For #15929: Remove SearchWidgetCFR telemetry.

* For #15929: Remove SearchWidgetCFR and search widget experiment.

* For #15929: Remove unit tests references to search widget experiment.
4 years ago
ekager 6b8f2001df
For #16084 - Match elevation of Tab in Collection to header (#16100) 4 years ago
Tom Klein 57ba92080f For #15480 - Update the UI when a collection is renamed 4 years ago
Elise Richards 13f3304912
For #8765: Use shared list widget in collections (#15733)
Co-authored-by: Tiger Oakes <toakes@mozilla.com>
4 years ago
Grisha Kruglov 51dab196c4 Closes #15443: Use fragment's lifecycleScope for AlertDialog actions 4 years ago
Michael Comella f19c9920f9 For #13959: move resetAfter into StrictModeManager.
In a followup PR, we need to add state to strictModeManager (the
number of suppressions). This is much simpler to do when this is defined
as a class rather than an object. However, when this is defined as a
class, `resetAfter` needs access to the strictModeManager. Instead of
passing it in as an argument, it made sense to move this function onto
the strictModeManager instead.

Since folks are used to calling:
```
StrictMode.ThreadPolicy.allowThreadDiskReads().resetAfter
```

We're going to have to add a lint check to prevent them from doing that.
4 years ago
Sebastian Kaspari 3983c509dc Use "undo" implementation from Android Components.
This is not the super fancy version yet - since we still need to restore into SessionManager and
haven't fully switched to BrowserStore yet. However AC having knowledge about "undo" and whether
it was performed or not, will help us with features like "recently closed tabs". And once we
can improve "undo", Fenix will get all the nice things automatically.

Requires:
https://github.com/mozilla-mobile/android-components/pull/8449
4 years ago
ekager 7d5c199e51 For #12383 #15407 #12860 - Switch to using shared view model for session to delete on home 4 years ago
mcarare 04e59e0ac5 For #15130: Remove "what's new card" from onboarding screen. 4 years ago
Elise Richards 1adf467248
For #14280, #14743: Remove old search fragment (#15169)
* Remove search fragment

* Use new folder to search dialog

* Rebase and lint

* Update tests with search dialog nav directions

* Rename interactor to match naming convention. Remove old controller and point everything to the dialog controller.
4 years ago
Grisha Kruglov 71b51146cb Update breaking changes in the FxA/Sync integration 4 years ago
ekager 24983af94e For #15291 - Limit current CFRs to show max one every 3 days 4 years ago
Tiger Oakes b563576335
Closes #14131: Move constants to dimens.xml (#14135)
Co-authored-by: Elise Richards <erichards@mozilla.com>
4 years ago
Jonathan Almeida d063cd5396 For #14230: Stop redrawing all top sites when one is removed 4 years ago
Sawyer Blatz 1f17371df6 For #14565: Add telemetry for top sites 4 years ago
Gabriel Luong 05857ba55d For #14145 - Add pinned badge for pinned sites 4 years ago
ekager 09fbb43f80 For #2486 - Adds Recently Closed Tabs 4 years ago
Gabriel Luong 6d133c8d0c For #14529 - Show a dialog when the top sites limit has been reached 4 years ago
codrut.topliceanu 21cbbdc7c8 For #13949 - Turn off tip regarding beta/nightly 4 years ago
Tiger Oakes 53d16e78e1
For #14460: Fix PBM notification tint (#14699) 4 years ago
Tiger Oakes 113241e8ce
Enforce IO thread inside of components (#14704)
* Automatically run PermissionStorage on IO thread

* Run TabCollectionStorage on dedicated scope + IO

* Update findSitePermissionsBy calls
4 years ago
Sebastian Kaspari e0071341c7 Update to new state API and update Mozilla Android Components version.
The EngineSessionState of a tab is now always accessible through tab.engineState.engineSessionState. It will
never get cleared.
4 years ago
mcarare 85cb74a3c9 For #14665: Replace hardcoded label with string resource. 4 years ago
Sören Hentzschel 81dd1a9192
For #8343, #9709 - replace "phone" with "device" in translations (#14083) 4 years ago
Arturo Mejia 6f5e9bad26
Pin AC TO 57.0.0 and remove feature flag for view downloads (#14592)
* Update Android Components version to 57.0.0.

* Remove feature flag for "View Downloads".

* Update search enginer list from changes by #13452

Co-authored-by: Chenxia Liu <liuche@mozilla.com>
4 years ago
ekager 83ffcac57e For #13926 - MP migration 4 years ago
Tiger Oakes e93a8b7d34
For #14376: Use concept-menu with tab counter menu (#14374) 4 years ago
Jeff Boek 3713b5a63a For #14251 - Dont show CFR if were navigating to Search 4 years ago
Jeff Boek c73870b794 For #13507 - Performance fixes for the ReviewPromptController 4 years ago
Jeff Boek c6687d976e For #13507 - Adds tests for ReviewPromptController 4 years ago
Jeff Boek 56b730f0e8 For #13507 - Extracts review prompt behavior into ReviewPromptController 4 years ago
Elise Richards e96eb25682 Allow play store in app review to be shown to users 4 years ago
Jeff Boek 4b997c1334 No Issue - Fixes UI Tests with new search experience 4 years ago
Jeff Boek f734509ac4 No Issue - Removes pref, toggles new search based on feature flag only 4 years ago
Gabriel Luong 4f76699ab7 For #10342 - Part 6: Show "Delete from history" instead of "Remove" for top frecent sites in the top site menu 4 years ago
Gabriel Luong 1f564c10ce For #10342 - Part 4: Use the TopSitesFeature in the HomeFragment for displaying top sites 4 years ago
Gabriel Luong 46aa6a003e For #10342 - Part 3: Use the TopSitesUseCase in the BrowserToolbarController and SessionControlController
Use the provided `addPinnedSites` and `removeTopSites` use cases in `BrowserToolbarController` and `SessionControlController`.
4 years ago
Gabriel Luong 7d9274e990 For #10342 - Part 1: Remove top sites prefetch and observation of live data 4 years ago
mcarare 294a187ba8 For #14157: Pass correct anchor for context menu popup. 4 years ago
Gabriel Luong 04dcfa5cab
For #8312 - Show Top Sites in a ViewPager (#14116) 4 years ago
Elise Richards 433a20db50
Update string for FxA signin onboarding header (#14132) 4 years ago
ekager 655d2b8a88 For #12377 - Choice to hide no collections placeholder from homescreen 4 years ago
Elise Richards feae7fff2f
FNX-14498 ⁃ For #9487: improve fxa onboarding manual sign in card (#13317)
* Replace strings, add learn more, hook up button

* Constrain learn more and icon to the text

* View holder tests

* Lint

* Update homescreen ui test
4 years ago
Jonathan Almeida 0de8aedd6f No issue: Fix missing FeatureFlags imports 4 years ago
Jonathan Almeida f92485d1e8 For #12287: Add feature flag for Synced Tabs in tabs tray 4 years ago
Kate Glazko f83372b67c For #349: View Downloads 4 years ago
Sachin 4b85f3e53b
for #11364 added a resetAfter for onboarding variable inside HomeFragment to avoid random system strictmode violations during UI testing. (#13811) 4 years ago
Mugurell b993b94be1 For #12857 - Use Collection title when sharing tabs collection
Avoided passing the subject for sharing a collection of tabs in the ShareData
object since ShareData is part of a web standard.
4 years ago
Sebastian Kaspari 77263aad70 Validate deep links. 4 years ago
Jeff Boek 540c1d2ada For #13052 - When opening a new tab pre-open search 4 years ago
ekager 5d664b979d For #6313 - Removes unused browser animations, improve delayed paint interactions 4 years ago
Jeff Boek ccb5b0b641
Wires up controller, store and interactor. (#13324)
* For #13320 - Wires up the search store, controller and interactor for the new search experience

* For #13323 - Navigates to new search experience from the browser when enabled
4 years ago
Jeff Boek 495341a945 For #13052 - Creates new dialog fragment for search and puts it behind a feature flag 4 years ago
ekager a1a839f237 For #13221 - Update global ETP to include PBM 4 years ago
Mihai Eduard Badea 58e24b81aa For issue #12400 - Refresh swiped collection tab view
Item is now refreshed by calling notifyDataSetChanged on the adapter when the last tab from the collection has been swiped away and the user cancels the deletion by pressing the cancel button from the dialog.
Also added a "wasSwiped" flag to onCollectionRemoveTab in order to check if the tab was deleted from a swipe action and not by pressing the "X" button.
4 years ago
ekager 6cdf304d10 No issue: Adds sameAs function for TopSiteList AdapterItem 4 years ago
ekager 3d3153039c For #11690 - Add contentsSameAs to avoid rebind of items in SessionControlAdapter 4 years ago
Tiger Oakes d8ff6179fe
For #7992: Use favicon style from AC (#12608) 4 years ago
Tiger Oakes 61d6b333de Update LongParameterList baseline 4 years ago
ekager e5e62fa79a For #6846: Added quick actions for nav bar in home 4 years ago
ekager 46511d6f8e For #10163 - Adds tab multiselect mode 4 years ago
Sawyer Blatz 95d786a79f No issue: fix master 4 years ago
Sawyer Blatz 9c56e1905b For #12793: Improve snackbars for tabs tray 4 years ago
Sawyer Blatz c48159d76f
For #10997: Remove scrolling from home (#12866) 4 years ago
Tiger Oakes 652af79e95
Migrate from Session.toTab to BrowserStore (#12221) 4 years ago
Tiger Oakes 9af167ba0a
Add tests for some classes in home/browser (#12837) 4 years ago
Tiger Oakes 8f5a37733d
Create ToolbarPosition enum (#12747) 4 years ago
Tiger Oakes c08d375c18
Move settings in components (#12675) 4 years ago
mcarare 8826f99ef7 For #9722: Refactor onboarding buttons with text.
Add title and description to button text, remove extra Textviews.
4 years ago
Tiger Oakes e809df0858 Pass settings and metrics to CFR 4 years ago
Kainalu Hagiwara 02a929a926 No issue - Suppress new warnings from detekt update 4 years ago
Sawyer Blatz f0c6bc0226
For #12735: Fixes issue with tab deletion undo (#12737) 4 years ago
Christian Sadilek 16b6776938 Update Android Components to 51.0.20200717190031 4 years ago
Tiger Oakes eed20b43b9
Test session control controller (#12652) 4 years ago
James Hugman 798c1bf743 Address review comments 4 years ago
James Hugman 22689a9ff5 Remove need to specify component names for new intents 4 years ago
James Hugman 98a33ea82b Changed home_* style links to urls_* to reflect that the destination is a set of links, rather than where the screen is 4 years ago
James Hugman 1629878a66 Add install_search_widget 4 years ago
James Hugman 8130aaa2cc Add deep links for settings and home screens 4 years ago
Tiger Oakes d4bb432e24
Add helper for underlining text (#12520) 4 years ago
Tiger Oakes d0e9f1f165
Update Kotlin dependency (#10806) 4 years ago
Tiger Oakes e9fb1a61c7
Test viewholders in home.sessioncontrol (#12524) 4 years ago
Tiger Oakes 67ce5ad5d9
Add tests for onboarding viewholders (#11522) 4 years ago
Mihai Eduard Badea eeb8719fa1 For issue #12126 - Tab counter consumeFrom update
Added a direct call to the updateTabCounter method to account for changes made to the BrowserState while the tabCounter view is not visible.
4 years ago
Tiger Oakes 8e8e5aea36
Extract radio group logic into helper (#11493) 4 years ago
ValentinTimisica e39d5b6de7 For #11763: Shows confirmation dialog when deleting last tab from collection 4 years ago
ValentinTimisica c3acde438a For #11889: Changes collection creation confirmation snackbar strings
Also I changed the adding tabs to collection confirmation string from
tabtray to take into account the number of tabs.
Example: 1 tab-"Tab saved!"; multiple tabs-"Tabs saved!"
4 years ago
mcarare 94273bc274 For #12125: Handle visibility updates for add to collection button. 4 years ago
ekager 70f90e71e8 For #11991 - Show tab count during onboarding 4 years ago
Marc Leclair ff5d00362b Added A-C version 48.0.20200626213814 4 years ago
MarcLeclair f3b44c06e4
For #11841: Removed topsite bug on private browsing (#12020) 4 years ago
Elise Richards 665fb8d60c
#10824: Onboarding telemetry (#11867)
* Onboarding events and tracking

* Rename metrics for consistency

* Add reference to PR for the data review

* Add default values to onboarding events
4 years ago
David Walsh 77ed670558 For #11860 - Conditionally show add to collection button on Home screen 4 years ago
mcarare a056e86e4f For #8080: Dismiss menu when swiping away from its anchor. 4 years ago
person808 5f7e0e4dd6 Followup for #11442 - Add tab counter menu metrics to home fragment. 4 years ago
Jeff Boek 2861421312 For #11112 - Adds save tabs to collection button to the no collections message 4 years ago
Tiger Oakes ccb532bb77
For #11534 - Don't check lastUsed mode for screenshots (#11827) 4 years ago
ValentinTimisica e9bb11e22d Fixes #9205: Changes add-ons and 'Open links in apps' icons from menus 4 years ago
MarcLeclair b52091ed34
For #11660: added prefetch for topsites and update in onCreateView() (#11668)
* For #11660:added prefetch for topsites

TopSites will be prefetched with observerOnce (wrapper around observerForever).
Also, the SessionControlView.update() is called right away instead of waiting from consumeFrom
in the HomeFragment.onCreateView() which will allow the UI to render all at once on its first
perform traversal

* Removed the submitList(null) since it retriggered a drawing on lower end device
4 years ago
Sachin 36b1c710e7
for #11617 added a resetPoliciesAfter ext function for StrictMode, and replaced all existing calls to "resetAfter" with "resetPoliciesAfter" (#11619) 4 years ago
David Walsh 8b24cdec42
For 11428 - Focus on home screen address bar when tab tray new tab is tapped (#11429) 4 years ago
liuche 35fa445165
Issue #11112 - Update empty collections string + tests. (#11538) 4 years ago
mcarare 4b04a140fc For #11229: Update etp strict option title content description. 4 years ago
Jeff Boek cd3b6181b3 For #10374 - Adds quick contextual menu to tab switcher
Co-authored-by: person808 <kainaluh808@gmail.com>
4 years ago
ValentinTimisica f937c96c12 For #5148: Switch to the correct tab on media notification clicked
Processing the intent in OpenSpecificTabIntentProcessor to be able to switch
to the tab where audio/video is playing
4 years ago
ValentinTimisica 3a28704fa6 For #11132: Replaces wrong icons from menus 4 years ago
ValentinTimisica dc37baff0b For #11132: Rearranges home menu items 4 years ago
Sachin 8fdc28010d
for #10839 added IO coroutine to check onboarding stat from sharedpref (#11338)
changed coroutine scope to fragments lifecycle
4 years ago
Sachin 74948cb3f1
for #7225, Changed strictMode thread penalty to dialog on startup and back to logs after startup is done. (#10831)
for #7225, refactored and cleanup the branch.

for #7225, change strict mode policy only on main process.

for #7225, setting thread policy inside a seperate thread to keep it from getting overridden in activities.

for #7225 removed Handler().postAtFrontOfQueue as a solution due to unknown side effects. moved the enableStrictMode function to be static so we can reuse it.

for #7225 lint check

for #7225 created strict mode manager and moved enabledStrictMode function inside it.

for #7225 removed penalty death on network

for #7225 added allow disk access on thread for already existing violation


strict mode running in main process to see if it passes the gitlab check, will revert it if it doesnt

allowed diskread for super.onCreate for home activity

added comments for disk violation oncreate homeactivity

added fragment manager inside strictmode manager

allowed disk read for onboarding

allowed disk read for cachedTopSites
4 years ago
mcarare a0d9189321 For #11229: Update onboarding ETP copy. 4 years ago
Jeff Boek 52c2fdb310
Remove tab tray feature flag (#11176)
* For #11171 - Removes feature flag for the new tab tray

* For #11171 - Removes all tab references from homeFragment

* For #11171 - Fixes unit tests

* For #11171 - Gets UI tests to compile and HomeScreenTest to pass

* For #11171 - Fixes `deleteMultipleSelectionTest`

* For #11171 - Fixes `openHistoryItemInNewPrivateTabTest`

* For #11171 - Fixes `openHistoryInPrivateTabTest`

* For #11171 - Fixes `openHistoryInNewTabTest`

* For #11171 - Fixes `openNewPrivateTabTest`

* For #11171 - Fixes tabbedBrowsingTests

* For #11171 - Fixes SettingsPrivacyTest

* For #11171 - Fixes TopSitesTest

* For #11171 - Fixes lint errors

* Ignore
4 years ago
David Walsh d862d58051 Scroll to the top of home when using the tab tray 4 years ago
Jeff Boek 2dd0a3cb9e
Implement tab tray design improvements and fix close functionality. 4 years ago
ValentinTimisica 591e2c9a6f Fixes #9696: Adds Add-ons menu item to the home menu 4 years ago
mcarare c4f7a32eae For #9583: Increase touch targets for onboarding elements. 4 years ago
Vishwa Patel 4da22c605a For #10834 - Adding Sync Tabs Feature in Fenix 4 years ago
Jeff Boek 8662164b8a
Refactors the TabTrayDialogFragment to ditch that weird interactor (#11061)
* For #11056 - Removes unused argument when navigating to the collection creation fragment

* For #11056 - Moved the collection creation navigation logic to the TabTrayDialogFragment

* For #11056 - Moves navigating to the share screen from home/browser to the TabTrayDialogFragment

* For #11056 - We moved tab selection logic from home/browser to the tab tray dialog

* For #11056 - Moved new tab tapped logic to the tab tray dialog fragment

* For #11056 - Removes all interactor logic for the TabTrayDialogFragment

* For #11056 - Migrates the presentation / navigation around the TabTrayDialog to the androidx navigation library
4 years ago
Jeff Boek 3946ec11de
Polish homescreen (#11065)
* For #10505 - Adjusts wordmark margins

* For #10505 - Removes topsite header, fixes collections header size and removes divider

* For #10505 - Restyle the top site items on the homescreen
4 years ago
ValentinTimisica 9f265fd62f Fixes #10064: Open help articles in normal tab instead of custom tab 4 years ago
David Walsh 267cf35edb For 11001 - Show close all tabs above tab tray 4 years ago
Sawyer Blatz 94d741864e For #9488: Add search widget CFR 4 years ago
David Walsh 4fdac4d608
For 10734 - Open tab tray when collection is opened from Home (#10751)
* For 10734 - Open tab tray when collection is opened from Home

* Update to work with tab tray drawer
4 years ago
David Walsh 248237290e
For #10865 - Implement 3 dot menu for tab tray (#10869) 4 years ago
David Walsh 5e4fd460f8 Remove onTabClosed from interactor 4 years ago
David Walsh 8b843ac9e5 Fix elevation for snackbar and fab 4 years ago
David Walsh e9bcc9bb1e Move snackbar to TabTrayDialogFragment 4 years ago
David Walsh f653964ee1 For #10864 - Display snack bar to undo closing tabs 4 years ago
Tiger Oakes 2397695fe5
For #10596 - Redirect moz://a URL (#10688) 4 years ago
Grisha Kruglov b26ac51e90 For #10494: Process HomeMenu builder changes on the main thread
Problem was that we were trying to process menu changes (in response to account manager events) on some background thread as that's what account manager emits them on, so some code internally in PopupWindow's dismiss handling (i think, didn't dig very deeply here) was silently giving up and we'd get into a bad state.

The reason this seemingly only happened if you quickly opened a menu on startup is because account manager isn't initialized until sometime after the startup finished. So the trick was to open the menu (and register account manager state callbacks) before it got initialized, so that the callbacks are invoked.

This should also reproduce in other, much more obscure ways, e.g. if you open the menu right before sync is scheduled to run in the background, change FxA password on another connected client, and then eventually receive a onAuthenticationProblem callback.
4 years ago
Sawyer Blatz 7067e5c000
For #8125: Add default top site telemetry (#10752) 4 years ago
Jeff Boek 601aedda46 For #10504 - Removes "old" TabTrayFragment 4 years ago
Jeff Boek a674c5dfe7 For #10504 - cleans up tabLayout colors 4 years ago
Jeff Boek 4e499e7a48 For #10504 - Adds tabTrayDialogInteractor to browserfragment 4 years ago
Jeff Boek 97d66cce56 For #10504 - Creates the TabTrayDialogFragment 4 years ago
ekager 516a6fe9f7 For #6832 - Only emit session changes if fragment is attached 4 years ago
Christian Sadilek 4e25f41a41 For #1824: Prevent extremely long URLs from locking up HomeFragment 4 years ago
codrut.topliceanu 7feae98944 For #9044 - Replace DownloadNotificationBottomSheetDialog with unobtrusive view
- Renamed DownloadNotification and removed DownloadState.dismissed dependency
- Improved DynamicDownloadDialog behaviour when scrolling
- DynamicDownloadDialog remains attached to tab until dismissed
- Fixed onTryAgain not working for resumed DownloadDialogs
4 years ago
Tiger Oakes f7b4f1c959
Cache findViewById calls in session control (#10575) 4 years ago
ValentinTimisica b2e5820364 For #10343: Remove 'Library' functionality from the app
Also adds Bookmarks and History items to browser menu.
4 years ago
Jeff Boek 58ca5d0e3a For #10341 - Always show collections placeholder with new tab tray enabled 4 years ago
Simon Chae a851b76ea3
Update Android Components version to 41.0.20200506130132 (#10443) 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
ekager 2e27bbd15d No issue - Remove unused data class TopSiteItem 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