Commit Graph

2191 Commits (5c7e9b98cd6a41d6d0e0f9ae04af15c4fcb4ca55)

Author SHA1 Message Date
Sawyer Blatz e94af334fc
No issue: Add more settings animations (#9750) 4 years ago
Mihai Eduard Badea d66da53c9a For #2768 - Prevent screenshots in private mode
Added a new option in Private browsing menu to allow or prevent screenshots from being taken while in private mode by adding or removing the FLAG_SECURE flag from the home activity's window.

 This method is called whenever the activity is initialized to account for the browsing mode being changed and whenever the setting from the Private browsing menu is changed.

 The setting is by default set to true (screenshots are allowed to be taken)
4 years ago
Mugurell 29539c458e For #9770 - Disable pull to refresh pending changes 4 years ago
Jeff Boek c632b93ee7
For #220 - Removes feature flag for language picker (#9191)
* For #220 - Removes feature flag for language picker

* For #220 - Updates Android Components
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
Arturo Mejia 025656d8fd For issue #9647 Crash when tapping settings after quickly
enabling/disabling add-on
4 years ago
Michael Droettboom 3789f50423 Fix errors in top_sites_count metric
We discovered in the Fenix metrics errors query [1] that
top_sites_count had a spike in the number of errors. It
seems to be recording a count of 0, which is an invalid value.

[1] https://sql.telemetry.mozilla.org/queries/67107/source#169983
4 years ago
Mugurell 904bfc9ebe For #3262 - Enable pull down to refresh in Nightly 4 years ago
MickeyMoz f46cfc2ad2 Update Android Components version to 38.0.20200403130109. 4 years ago
Michael Comella 4a8dc5b54f No issue: add kdoc to HomeActivity.
We could consider renaming the Activity to make it clearer that it's the
main activity and doesn't just feature the homescreen but I'm concerned
that renaming it will break too many things (e.g. automation that starts
a specific activity). For quick fix, I added this comment.
4 years ago
Sawyer Blatz e3ed7ed268
Issue #9128 & #9222 & #9499: Refactors snackbar creation and fixes placement (#9628) 4 years ago
Gabriel Luong dc6d479da3
For #6174 - Add telemetry for WebExtensions (#8318) 4 years ago
Emily Kager 327009efc4
For #768: Add first time PWA dialog (#9308)
Co-authored-by: Tiger Oakes <toakes@mozilla.com>
4 years ago
David Walsh 26137f63a2
Prevent favicons from flashing when items are selected in History (#9233) 4 years ago
Mihai Adrian 8cd6d7460c
For #9336 Check current destination before navigating (#9353)
* For #9336 Check current destination before navigating

* For #9336 Update unit test to check for navigateSafe
4 years ago
ekager fd60270da8 For #9533 - Switch to using enum for Library Item Selected Telemetry 4 years ago
Grisha Kruglov 8d3d030feb Closes #9553: Only update account UI state once when creating SettingsFragment 4 years ago
ekager 96c6401457 For #8125 - Send top sites count with metrics ping 4 years ago
mcarare 8c398c86ef For #9365: Partially reverse menu items order when using top toolbar 4 years ago
mcarare b119700820 For #9365: Update naming to reflect history item 4 years ago
Sawyer Blatz 208a58bc58
Issue #9598 & #8697: Fixes force expand crash (#9599) 4 years ago
codrut.topliceanu 3d1d146c94 For #9549 - Scrolling to top sites now includes header. 4 years ago
Mihai Branescu 24596fd3cd For #9109 - remove the sync error highlight from three-dot menu 4 years ago
Grisha Kruglov 54b7fd8834 Make sure reconnect item is displayed in HomeMenu in case of account problems
AccountObserver listeners were being triggered correctly, however, during every time
we open HomeFragment, home menu gets re-created, which causes us to re-run the initialization
block. Before this patch, the init block would never touch the account manager.
After this patch, it will query it if account manager has already been initialized.
4 years ago
Grisha Kruglov 60943df6d9 Closes #9561: Fix initialization order in HomeMenu
`init` blocks are executed before `val` initialization which is declared afterwards
in the class. In this case, we had `quitItem` and `reconnectToSyncItem` as lazy,
but declared after the `init` block which may need them. And so, while this compiles
just fine, in practice we run into an NPE as the `init` block tries to get the lazy's value.

Simply re-ordering initialization fixes the problem.
4 years ago
Arturo Mejia 804eb0f5ba For issue #8520: Polish Add-on manager UIs 4 years ago
Sawyer Blatz 1a2b65d854
Issue #9472: ForceExpand browser toolbar when navigating (#9552) 4 years ago
ValentinTimisica cee34893ed
For #8412: Passes error handling function to 'CustomTabWindowFeature' (#8903)
* For #8412: Passes error handling function to 'CustomTabWindowFeature'

Change required for showing error message when the app can't handle a specific
scheme. Implemented in AC:
https://github.com/mozilla-mobile/android-components/pull/6122

* Upgrade AC version

Co-authored-by: Sawyer Blatz <sdblatz@gmail.com>
4 years ago
Grisha Kruglov f76acc5db1 Closes #9530: Don't crash on failed avatar fetches 4 years ago
Grisha Kruglov 6c38b77315 Part 6: Kick-off account manager initialization after visual completeness
In order to hide the time it takes for the account manager to be initialized
(which always involves disk IO, and often network IO), let's kick it off
after "visual completeness".
This makes sure that for most users, by the time they interact with the account
manager-related functionality (e.g. in Settings), it's ready to go.

Also, for signed-in users, this will establish background sync workers.
4 years ago
Grisha Kruglov 057e28d4e4 Part 5: Refactor HomeMenu<->HomeFragment interaction
This refactor "reverses" relationship between these two classes, allowing
HomeMenu to inform its parent, HomeFragment, of any changes to the menu.

Once that's in place, we start observing account manager changes (once its ready)
for account problems.

This solves two problems:
- initialization of the account manager is no longer necessary to build a home menu
- home menu now starts observing changes to the account manager's state (before it was static)
4 years ago
Grisha Kruglov 029fae4559 Part 4: Make sure 'sync is on' snackbar does not initialize account manager 4 years ago
Grisha Kruglov eb98df4edd Part 3: Mark accountManager as 'lazy' in Mode.kt
This is enough to cause it to be initialized only if we're going through onboarding.
4 years ago
Grisha Kruglov 3efaa516ca Part 2: Do not eagerly initilize account manager within HomeActivity
Instead of always kicking off accountManager's init and telling it to sync right away in
'onResume', we move these tasks to some abstract point later on, whenever account manager
is available.
4 years ago
Grisha Kruglov 0677fc35de Part 1: Add 'accountManagerReady' queue to BackgroundServices
This gives us an ability to perform tasks against 'accountManager' without
causing its immediate initialization.
4 years ago
Grisha Kruglov be1fa8df7d Pre: introduce a RunWhenReadyQueue
This replaces the StartupTaskManager we had with a more general class.
New implementation is a thread-safe "gated task executor", which either
runs the task right away if it's marked as 'ready', or queries it to be
executed later on.

This ability to either execute or queue a task will be useful later on in the
commit series.
4 years ago
Sawyer Blatz 4ac29530cd
Issue #9132: Update to search animation for top toolbar (#9524)
* let animation in top toolbar mode play nicely.

* remove duplicate methods, make code readable.

* migrate getToolbarNavOptions method to BrowserAnimator, one method to rule them all.

* Update linting

Co-authored-by: ahmedmamdouh13 <ahmedmamdouh13196@gmail.com>
4 years ago
David Walsh e1187ebf31 For #7059 - Allow search engines to scroll 4 years ago
David Walsh d989616f62 Add top sites heading to home screen 4 years ago
mcarare f52fa44207 For #9498: Replace navargs with viewModel to remember if scroll to tab 4 years ago
mcarare ab78951146 For #9496: Vertically align collection name and icons to collection icon 4 years ago
codrut.topliceanu 1e63d6ce76 For #9500 - Revert patch for 8568
The patch for 8568 introduced this regression.
Let's just revert it until we can come up with a better solution.
4 years ago
Sebastian Kaspari 02aabea14a Update to new feature-media API. 4 years ago
Edouard Oger 394f386ac3 Add secret debug menu to override FxA servers 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
mcarare 38a97cd1e0 For #9252: Add progress bar to saved logins view 4 years ago
mcarare f3bbcc4e17 For #9252: Update views visibility ony when list has finished loading 4 years ago
Arturo Mejia f9cc2ccfe2 For issue #8017 enable SitePermissionsWifiIntegration 4 years ago
codrut.topliceanu ba39a46b88 For #8568 - Refocus URL editText in SearchFragment onResume 4 years ago
Amaan Marfatia 3dcfed3761 AboutPageAdapter doesn't use notifyDataSetChanged()
We make the AboutPageAdapter inherit from a ListAdapter so that we don't use notifyDataSetChanged().
4 years ago
mcarare 012e318724 For #8968: Hide keyboard when navigating away from browser 4 years ago
ValentinTimisica 3647606aae Fixes #9280: Remove tabs fade in animation when pressing on Add new collection 4 years ago
Mugurell a1cdd31f0c Fix #8651 - Add new menu actions for a history item
We'll now also support:
- Copy url
- Share to another FXA device
- Open in new tab
- Open in private tab
4 years ago
mcarare e8ad2389ac For #7356: Scroll to selected tab when pressing tab overview 4 years ago
Mihai Eduard Badea 91690d7b48 Replaced name field with search string field 4 years ago
ValentinTimisica 69e8a2f357 Fixes #4987: Remove close tabs functionality when they are added to a collection 4 years ago
ValentinTimisica a72d50d78f Fixes #7734: Remove animation for back button 4 years ago
Christian Sadilek 5e9d5dd545 Closes #9414: Make AMO collection configurable 4 years ago
Grisha Kruglov 9e324fa02a Perform storage warm-up after visual completeness 4 years ago
Sebastian Kaspari 0f0d56e60a Issue #5208: Use new tab/collection restore API. 4 years ago
Mihai Branescu 73a7330b2b For #9395 - Trimmed name for custom search engines 4 years ago
Arturo Mejia f785a07ef9 No issue: Add add-on updater information dialog 4 years ago
Mihai Branescu a23bcebb5d For #8972 Replaced purple colors to match the rest of the app 4 years ago
Mihai Branescu 494db56ea5 For #9207 - changed status bar color in home fragment to match gradient background 4 years ago
Arturo Mejia fa9dae0d72 For issue #9364 Crash when blocking app permissions and returning to
the app
4 years ago
ekager eea6eb0c4c Add toolbar padding for bookmark snackbar 4 years ago
ekager 16b40992d2 For #9351 - Show snackbars with toolbar padding to work with dynamic toolbar 4 years ago
Arturo Mejia 5e75140b3d For issue #8809 Notification permissions can't be disabled/re-enabled
unless you restart the browser
4 years ago
Arturo Mejia b484ad38cc No issue: Remove feature flag for removing one TP exception 4 years ago
mcarare 7fbb1640b6 For #8759 Use activityName instead of packageName as app identification 4 years ago
Arturo Mejia 301f56d144 For issue #9334 Fix Remove of one exception is deleting all 4 years ago
Sawyer Blatz 9feb44852b
For #9256: Attempts to fix installation ping not being sent (#9331) 4 years ago
Kate Glazko 47b2f6a070 For 7077 Simplify Display Url 4 years ago
Mihai Branescu ab04155222 For #8653 - changed menu strings 4 years ago
mcarare 14338a3b13 For #8899: Set viable anchor for snackbars in both custom and normal tab 4 years ago
ValentinTimisica 8871c05c9d Fixes #9243: Remove tabs fade in animation when pressing on Save to Collection 4 years ago
David Walsh 681d6cf8a1 For #8652 - Allow sharing multiple bookmarks 4 years ago
David Walsh 27502bdd34 For #9177, #8248 - Hide empty verified by block when no cert 4 years ago
Severin Rudie 35a132d7ff
8017 advanced autoplay controls. (#8978)
* For #8017: add advanced autoplay controls
4 years ago
Elise Richards 5d8a9bb4be
For #8592: Relocate device name in account preferences. Deactivate device name field while syncing. (#9255) 4 years ago
Sawyer Blatz a356b4b2c4
For #9136: Send all adjust properties to glean (#9253) 4 years ago
Sawyer Blatz b9059c8208
For #9256: Attempts to fix installation ping not being sent (#9254) 4 years ago
Grisha Kruglov e541e10427 Initialize storage after visual completeness
In order to eat the perceived performance costs, we initialize storage
once we're visually complete. This way, we're reducing chances of user performing
a UI action which will trigger storage init and delay said action.
4 years ago
Grisha Kruglov eb14532c3c Closes #7450: Lazy storage initialization
Make sure that we actually lazily initialize our storage layers.

With this patch applied, storage layers (history, logins, bookmarks) will be initialized when first
accessed. We will no longer block GeckoEngine init, for example, on waiting for the logins storage
to initialize (which needs to access the costly securePrefStorage).
Similarly, BackgroundServices init will no longer require initialized instances of the storage
components - references to their "lazy wrappers" will suffice.

In practice, this change changes when our storage layers are initialized in the following ways.
Currently, we will initialize everything on startup. This includes loading our megazord, as well.

With this change, init path depends on if the user is signed-into FxA or not.

If user is not an FxA user:
- on startup, none of the storage layers are initialized
- history storage will be initialized once, whenever:
  - first non-customTab page is loaded (access to the HistoryDelegate)
  - first interaction with the awesomebar
  - history UI is accessed
- bookmarks storage will be initialized once, whenever:
  - something is bookmarked, or we need to figure out if something's bookmarked
  - bookmarks UI is accessed
- logins storage will be initialized once, whenever:
  - first page is loaded with a login/password fields that can be autofilled
  - (or some other interaction by GV with the autofill/loginStorage delegates)
  - logins UI is accessed
- all of these storages will be initialized if the user logs into FxA and starts syncing data
  - except, if a storage is not chosen to be synced, it will not be initialized

If user is an FxA user:
- on startup, none of the storage layers are initialized
- sometime shortly after startup is complete, when a sync worker runs in the background, all storage
layers that are enabled to sync will be initialized.

This change also means that we delay loading the megazord until first access (as described above).
4 years ago
mcarare 756b1fbadd For #9140: Remove drawable from title in empty state panes 4 years ago
Arturo Mejia 823eea44ed No issue: Add serverConfig param to FxaWebChannelFeature 4 years ago
Arturo Mejia e977486809 Remove @UseExperimental for usages of the flow api 4 years ago
mcarare 4425e7139e For #9200: Remove star icon from empty state icon in toolbar 4 years ago
mcarare 772c7062fd For #8814: Change icon asset for top sites menu option 4 years ago
Jonathan Almeida ffd4cdd970 For #7661: Add variant-specific schemas for deep links
In order to target specific variants of Fenix, we're adding schemas that
are specific that app in order to avoid collisions with the other
variants and with other forks of fenix that may have the same schemas.

The current schema for variants:
 - Fenix Nightly: `fenix-nightly://`
 - Fenix Beta: `fenix-beta://`
 - Everything else: `fenix://`
4 years ago
Sawyer Blatz b4e1360f59
For #3086: Adds settings animations (#9187) 4 years ago
Christian Sadilek 0d974fe262 For #8808 #9139: Add-on should be able to configure how to open options page 4 years ago
Edouard Oger a1ea94fe76 Prepare for a-c a-s upgrade 4 years ago
Sebastian Kaspari 34144fd254 Use pinned Android Components Nightly version instead of snapshots. 4 years ago
Christian Sadilek 63517a52e4 No issue: Remove unneeded logic to adjust TP 4 years ago
Jonathan Almeida 3d387e2dde Add nightly-only feature flag for WebPush integration 4 years ago
codrut.topliceanu 030bd38631 For #8561 - Scroll to topSites on app cold start 4 years ago
Sawyer Blatz cc8f34b68b
For #8773: Fixes issue with snackbar placement on ContextMenu (#8942) 4 years ago
Roger Yang 9a582a6983
Closes #9104: Pass release channel information to Socorro service (#9130) 4 years ago
Jeff Boek c862ca93ba No issue - Fixes shadow on top layout 4 years ago
Jeff Boek 74ce62b5c3 For #8949 - Removes old motionlayout code, fixes how shadow is drawn 4 years ago
David Walsh fc67747409 Show the collections header when there are no collections 4 years ago
ekager 31cc7d9166 For #8897 - Don't remove all external sessions on back press 4 years ago
Michael Comella 5bd0369aed No issue: remove unused HotStartPerformanceMonitor.
This monitor for hot start was intended to be used by FNPRMS to measure
hot start. However, hot start was deprioritized so it's now essentially
unused.
4 years ago
Mihai Branescu 485efacd33 For #8800 - dismiss all highlights when menu is closed 4 years ago
Severin Rudie 1381444a52 For #8800: clear menu highlights on use 4 years ago
mcarare 2ffbecaefa For #8474 Reorganize browser menu items 4 years ago
Arturo Mejia ce4293c8c8 For issue #8908 Notify users when previously unsupported add-ons
become available
4 years ago
ekager 709bf6f627 For #7087 - Add SearchView to Logins Fragment 4 years ago
ekager feb6215fae For #8296 - Adds user account avatar to Account Preference 4 years ago
Jonathan Almeida ef42becbf9 For #9059: Add WebPush engine integration 4 years ago
ekager 667ebe3142 For #8967 - Remove ability to pref login autofilling by itself 4 years ago
mcarare 320fc4e4ae For #8788 Use Flexbox instead of Grid manager for top sites 4 years ago
Emily Kager 93cb3c2053
For #8423 - Adds delete login confirmation dialog (#9014) 4 years ago
mcarare 16e2f20471 For #8975: Separate title from url with line break when sharing links 4 years ago
Sawyer Blatz 28f58eb025
For #7158: Improves home to search animation (#9008) 4 years ago
Christian Sadilek 84afb5d156 Issue #8291: Speculatively create content process in search fragment 4 years ago
Sawyer Blatz 3548e58c00
For #7158: Improves browser to search animation (#8961) 4 years ago
Sebastian 89a260ecd9 Use new MemoryConsumer.onTrimMemory() API. 4 years ago
Jim Porter ec98fd948b For #7847: Improve startup performance of the Fenix wrapper around Glean 4 years ago
Sebastian 7b170c4428 Update IntentProcessor implementation to comply with new interface. 4 years ago
Josh Vocal c15469595d For #7554: Add App Services Version to About Page 4 years ago
Gabriel Luong c1a7bddcd3
For #8593 - Style the add-ons permission dialog to match the Fenix theme 4 years ago
Jonathan Almeida 0d48b65a25 For #8950: Unregister observers in the main scope coroutine 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
Sawyer Blatz edd1f013ba For #5308: Show search shortcuts for search term queries 4 years ago
Jonathan Almeida 4ccda4d495 Log push crashes to CrashReporter 4 years ago
Jonathan Almeida 4bbf87d272 Closes #6730: Lazily initialize account manager on new push message 4 years ago
Grisha Kruglov e6e2dd94c7 Closes #7344: Login storage refactor
The a-c side of this work is in https://github.com/mozilla-mobile/android-components/pull/6128

This switches Fenix to use `SyncableLoginsStorage`, which caches a connection internally
on first access, and doesn't expose any lock/unlock APIs at the public boundary.
4 years ago
Sebastian Kaspari a890bd4c0c AwesomeBarView: Pass BrowserStore to SessionSuggestionProvider instead of SessionManager. 4 years ago
Christian Sadilek 20387401b1 Issue #7863: Ensure parent process triggers speculative connect 4 years ago
Sawyer Blatz f20fb50481 For #5346 & For #8859: Fixes textSize & animation on TabCounter 4 years ago
Sawyer Blatz e38bff8597 For #5308: Display search shortcuts when going from browser to search 4 years ago
Andrew Gaul 4ab4733f34 Do not scroll menu when toolbar is on top
Fixes #8838.
4 years ago
Harshal Lele e318cd7d15 fix #8135 - remove getColorFromAttr 4 years ago
Sawyer Blatz 8e06933e8d For #167: Adds browser -> home animation 4 years ago
Emily Kager a61502215b Revert "For #7603 - Temporarily do not show biometric prompt for OnePlus devices"
This reverts commit 17d7928cc9.
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
Mihai Adrian e3d34edfc7
For #8873 - Update snackbar padding for adding top sites 4 years ago
Arturo Mejia 4cf34b47ee
Show a notification when add-on update requires new permissions 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
Michael Comella 4605ba9124 No issue: make Performance methods private that can be. 4 years ago
ekager a6b07afa95 No issue: Fix LeakCanary detected memory leaks
Co-authored-by: Emily Kager <emilykager@gmail.com>
Co-authored-by: Pierre-Yves Ricau <py@squareup.com>
4 years ago
Sebastian Kaspari 83f94cacb5 FennecWebAppIntentProcessor: Handle manifest file not existing. 4 years ago
Sebastian Kaspari a477f14042 IntentReceiverActivity: Simplify intent handling.
This patch removes the need to process() and then match() on every intent processor.
A successful process() means that we already matched. Doing this in two steps caused
issues when the process() failed but later the simple check in match() returned true.

After this patch lands I intent to remove the match() API from the IntentProcessor
interface in AC:
https://github.com/mozilla-mobile/android-components/issues/6097
4 years ago
mcarare 5a6fc02976 For #8773: Set proper anchor and padding for Snackbars on browser screen 4 years ago