Commit Graph

266 Commits (af233106794ff2b809f37f8deaf445e4cf1fb2d7)

Author SHA1 Message Date
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
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
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 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
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
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
Will Hawkins f9b716286a For #8034: Create a post-visual completeness executor
Create an object that will execute its enqued tasks
when Fenix is visually complete.
4 years ago
ekager f569f48b33 For #5696 - Adds basic share action to text selection context menu 4 years ago
ekager 511c36e191 Removes FragmentPreDrawManager changes in BrowserFragment 4 years ago
Jeff Boek dfde37baf5 Reverts For #7559 - allows changing locale even after setting theme with 4 years ago
Jeff Boek 541bcf072a Reverts all BrowsingModeManager changes 4 years ago
Jeff Boek 26d1bd70d8 Revert "For #8460: Prevent multiple back navigation clicks."
This reverts commit b030d3ac9f.
4 years ago
Simon Chae da0148b8bd For #8535 #8498: Allow for multiple browsingModeListeners dispatch 4 years ago
mcarare b030d3ac9f For #8460: Prevent multiple back navigation clicks. 4 years ago
mcarare 5fd3894171 For #8354 Fix uppdating theme when coming from external links 4 years ago
Severin Rudie cc29c5fe84
For #7896: integrate text selection search from AC (#8295) 4 years ago
Simon Chae 2c01022c4b For #8153: Allow web-ext to open new tabs in correct browsing mode 4 years ago
MarcLeclair 834d7e13cd
Remove Tracking protection popup for visual testing (#8226)
* For #6903: allow override TP popup for performanceTest

* For #6903: refactored the code
4 years ago
Gabriel Luong 64a4a7f422
Provide add-on support (#8064)
Closes #5630, #6069, #6092, #6091, #6124, and #6147.

Co-authored-by: Simon Chae <chaesmn@gmail.com>
Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
Co-authored-by: Gabriel Luong <gabriel.luong@gmail.com>
4 years ago
Sawyer Blatz 030f75b4df For #5892 & #6380: Updates error page template and allows SSL bypassing 4 years ago
Mihai Branescu 1b7cb117ca For #7559 - allows changing locale even after setting theme with
AppCompatDelegate.setDefaultNightMode(mode). The override is necessary because the uiMode needs
to be manually updated after changing theme
4 years ago
Jonathan Almeida 40e72a7b28 For #7524: Remove DeviceConstellation polling from onResume (#7908) 4 years ago
Mihai Adrian 622fdadde8 For #7272: Show info when saved logins list is empty. (#7891)
* For #7272: Show info when saved logins list is empty

* For #7272: Updated unit tests
4 years ago
Emma Malysz 5e9b753acb For #7473, delay inflation of toolbar
Improve performance of HomeActivity.onCreate by delaying this inflation.
We use a ViewStub and inflate the first time the actionbar is accessed.
4 years ago
Michael Comella ffc441f12a For perf-frontend-issues#50: instrument imperfect reportFullyDrawn.
We don't capture the second RV draw yet. Unfortunately, I don't know if
it's the best use of my time to capture that as well.
4 years ago
ValentinTimisica 981d19de13 For #6556: Adds Telemetry counts for Search Access Points
Added two new sources to be counted ('widget' and 'shortcut') besides 'action' and
'suggestion'. Also modified/fixed some tests.
4 years ago
Sawyer Blatz a58decd708 For #6304 & #7577: Persist private mode between app launches 4 years ago
Will Hawkins 9c28cb632c Issue #7425 (et al): Cache the list of installed browsers
Cache the list of installed browsers. Calling `Browsers.all`
the application directly redundantly recalculates the list.
Accessing the list of installed browsers through this cache
will reduce that overhead.
4 years ago
Mihai Branescu ea2411a88b Feature/#220 language menu (#7070)
* For #220
- Added advanced header + locale settings item in the settings fragment

* For #220
- Added locale selection page with lib state + handling of locale changes

* For #220
- Removed registering for locale changes in the manifest, allow system
to restart activity in that scenario

* For #220
- Added unit tests for locale settings page

* For #220: fixed an outdated unit test
ga-a

Co-authored-by: Severin Rudie <Baron-Severin@users.noreply.github.com>
4 years ago
Emma Malysz 13f73c2d2c
For issue 7192: move unsetOpenLinksInAPrivateTabIfNecessary off main thread. (#7246)
Move method to Settings. There are two instances when we want to call this method: either
processing an intent, or within DefaultBrowserPreference
4 years ago
Will Hawkins 116f7b3d65 No Issue: Create a method to "finish onboarding" in CI
If the intent that starts the HomeActivity includes an extra
boolean flag named finishonboarding and it is set to true,
Fenix will "finish onboarding".
5 years ago
ValentinTimisica c6c827f693 For #4776: Redesign and refactor the About Page
Added new items to be displayed.
5 years ago
Michael Comella e60141e98d For perf-frontend-issues#33: Add HotStartPerformanceMonitor.
As mentioned in the class comment, we could use an alternative
implementation to measure perf from outside the application however
it's more complicated to set up and less consistent with our cold
startup methodology so we'll start with this.
5 years ago
Jeff Boek 1b1f9348dc No Issue - Fixes warnings / compiler errors with A-C update 5 years ago
mcarare 373bd63c40 For #6470 Remove actions from notification, keep just close private tabs
Removed NotificationsIntentProcessor because notifications no longer open app
Added new strings
5 years ago
Christian Sadilek ee3871cd7c Closes #5678: Selected session may render in ExternalAppBrowserActivity 5 years ago
Mihai Branescu 4efc661db8 For #5733 - Private mode notification - wrong home screen (#6188)
- added PRIVATE MODE intent extra to the notification action
 (could use also the OPEN_FROM_NOTIFICATION, but I considered this one to
 be more explicit. Kept the old one in case other checks will be done
 filtering for it)
- added intent? param to the getPrivateModeFromIntent method, because
onNewIntent() method does not set the activities intent, and it was needed
to be used both in onCreate() and onNewIntent()
5 years ago
Sawyer Blatz b0d796ccee
For #5898: Default browser toggle sends user to SUMO on Android 5&6 (#5918) 5 years ago
Severin Rudie 693034951c For 4780: rename 'setPrivateModeIfNecessary' 5 years ago
Severin Rudie d1d20b544e For 4780: update HomeActivity to maintain private mode in memory
As an added bonus, this makes the temporal coupling between `setPrivateModeIfNecessary` and `setupThemeAndBrowsingMode` explicit.  They previously would have broken if called in reverse order, now it will fail to compile.
5 years ago
Sawyer Blatz 6484a48147
For #5787: Fixes shortcuts asking to launch private alias (#5825) 5 years ago
Sawyer Blatz 371e2ac3d8
For #514 & #5742: Updates "launch links in private tab" functionality (#5721)
* For #514 & #5742: Updates "launch links in private tab" functionality

* Fixes comments
5 years ago
Grisha Kruglov a4097cd380 FxA WebChannels integration
This patch includes:
- WebChannels support enabled by default, with ability to disable it via remote flag
- expanded FxA telemetry (closes #4971)

Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
5 years ago
Mugurell c5330c6880 For 5092 - Show a Snackbar with retry option if sharing to devices fails (#5158)
* For #5092 - Show a Snackbar with retry option if sharing to devices fails

ShareController will contain all the business logic for checking the result
status of the `share to device` operations. When this fails it will show a
snackbar which also offer the possibility to retry the just failed operation.
To allow this even in the event the user has closed the share fragment we'll
use a GlobalScope's coroutine.
Refactored out the TabsSharedCallback from ShareFragment because otherwise we
would have neede to sent through that the just failed operation. After the
refactor the ShareController is solely responsable for showing the right
snackbar and handling the retry actions.

* For #5092 - Refactor ShareControllerTest

* For #5092: Adds color theming of snackbars
5 years ago
Tiger Oakes 8c30200ced Only use Context.settings() function (not getter) (#5335)
Remove unused String extensions
5 years ago
Tiger Oakes 734d4031e2 Extract UriOpened observer from HomeActivity 5 years ago
Sawyer Blatz 6f3d7b4ee8 For #5396: Adds "always launch in private mode" to settings 5 years ago
Roger Yang b3eca65614 Closes #5091: Refactor Sentry BreadCrumbs to use lib-crash BreadCrumbs 5 years ago
Yeon Taek Jeong 2e2bac4ccd
For #419: Create launch icon for private browsing (#4948) 5 years ago
Emily Kager 4485b7f647 Add Tracking Protection Info Panel 5 years ago
Mihai Adrian a31eb1f371 Code Health #4883: Refactored accessing settings by using Context extensions (#4973) 5 years ago
Sawyer Blatz 09dcdb079d For #4474: Adds what's new button to home screen menu (#5088)
* For #4474: Adds what's new button to home screen menu

* For #4474: Adds tests for what's new button
5 years ago
Yeon Taek Jeong d87b8a8a5c
For #4658: Add some private browsing mode telemetry (#4968) 5 years ago
Yeon Taek Jeong cc5408d717
For #2053: Add persistent notification to close all private browsing tabs (#4913) 5 years ago
Tiger Oakes 66e14959ba Add custom tab fragment 5 years ago
Grisha Kruglov 282c2dc182 No issue: only sync once on startup 5 years ago
Emily Kager b9f6f7fa93 For #4779 : Don't double navigate with global directions in HomeActivity 5 years ago
Tiger Oakes 9f154dc3a0 Extract intent processors from HomeActivity (#4884) 5 years ago
Tiger Oakes c475bc87cf Move classes out of top-level package 5 years ago
Jonathan Almeida 71a2478f4d Use Mozilla Android Components 10.0.0 5 years ago
Tiger Oakes 95ef312b1e Issue #1000 - Remove isCustomTab flag (#4656) 5 years ago
Sawyer Blatz 73e3db8fe0 For #4804: Resolves issue with crash reporter stack 5 years ago
Yeon Taek Jeong d4c83f9668 For #4736: Display search shortcuts only from home or search widget 5 years ago
Sawyer Blatz b7ca520787 For #4421: Adds Leanplum events and attributes (#4626)
* For #4421: Adds Leanplum events and attributes

* For #4421: Adds Leanplum deep links
5 years ago
Yeon Taek Jeong f5ffe3734c
For #4457: Adds telemetry for search widget actions (#4714) 5 years ago
Tiger Oakes 3acabeb6c3 Use global navigation action for browser fragment (#4691) 5 years ago
Emily Kager 1328d686aa No issue - Autoformatting (#4715) 5 years ago
Tiger Oakes 52542708aa Consodilate private browsing code 5 years ago
Yeon Taek Jeong 00bd26abe3 Remove task flags 5 years ago
Yeon Taek Jeong f952234c57 Keep CLEAR_TASK 5 years ago
Yeon Taek Jeong c87468d031 Remove popBackStack 5 years ago
Yeon Taek Jeong a8526a0606 For #4438: Fix crash when opening any URL from URL bar w/ long press 5 years ago
Sawyer Blatz da06b0fb15
For #4508: Treats warnings as errors (#4543) 5 years ago
Yeon Taek Jeong 6f962d3376
For #1744: Open search shortcuts when entering search mode (#4536) 5 years ago
Yeon Taek Jeong 83ceec6289 For #201: Search Widget 5 years ago
Jonathan Almeida 4922e5d09d No issue: Move PublicSuffixList to root component
With the PublicSuffixList class in Utilities, the first instantiation
of it (prefetching in onCreate), causes the Utilities to instantiate
and thus slowing down startup by needing the SearchEngineManager from
instantiating as well.

Moving this back to the root component fixes the immediate perf issue.

Co-authored-by: Will Hawkins <whh8b@obs.cr>
5 years ago
Tiger Oakes 87d8f3b037 Remove redundant super calls 5 years ago
chiragmantri 945b1ee274 [#4089] Moved PublicSuffixList to a sub-component(Utilities) class. 5 years ago
Emily Kager be10d427e8 For #4127 - Converts Exceptions to LibState and adds tests 5 years ago
Emily Kager 9b5baa2358 For #3360 - Adds empty state for TP Exceptions 5 years ago
Sawyer Blatz e25ceafd1f No issue: Removes unnecessary fragment transitions from accounts
Co-authored-by: ekager <emilykager@gmail.com>
5 years ago
Tiger Oakes ef8d9604ae No issue: Normalize license header comment (#3909) 5 years ago
Grisha Kruglov fe51bbcf7b Update FxA integration to new APIs 5 years ago
Emily Kager 21c75ca1bb For #3478 - Add Tab sent snackbar confirmation for device sharing 5 years ago
Tiger Oakes 55f5c5d049 Use lifecycleScope for settings fragments 5 years ago
Colin Lee ea7841b8c5 No issue: Add Sentry breadcrumbs to ease crash investigations 5 years ago
vladikoff dfe181aa0a Add application-services fretboard feature flags 5 years ago
Sawyer Blatz decacbfc97 For #3323 Runs PublicSuffixList synchronously 5 years ago
Colin Lee 1e6da54263 For #3238: fixes race condition crash, nav destination unknown 5 years ago
Colin Lee 28ecf241f5
For #1301: Always observe sessions to keep uri_count (#3172) 5 years ago
Colin Lee 5fb100debd
For #1966: Up button should cancel multi-selection first (#3108) 5 years ago
Emily Kager f48db90716 No issue: Always try to pop to browser when navigating to browser (#3043) 5 years ago
Jeff Boek 209b50016e For #2723 - Cleans up code formatting 5 years ago
Jeff Boek f9d70dbc92 For #2723 - Creates callbacks to wire up the mode and theme manager together 5 years ago
Jeff Boek a7d5cdcb9d For #2723 - Fixes theme manager 5 years ago
Emily Kager 18cd9e58f9 Fixes Crash: Pop up to Browser Fragment if exists when coming from Search 5 years ago
Colin Lee 72c5cb304c
For #2893, #2673, #2916, #2314: Fix race condition navigating to browser (#3023)
Since the Navigation library restores the fragment after memory eviction, if we're already on the BrowserFragment and we deep link navigate to the BrowserFragment, we briefly get two of them. This crashes GeckoView.
5 years ago
Sawyer Blatz b8c04e02e9 For #2327: Fixes nits 5 years ago
Sawyer Blatz fe50e88fc8 For #2327: Adds error state syncing 5 years ago
Grisha Kruglov fda0f1de97 No issue: sync and refresh device state on foreground 5 years ago
Emily Kager 4e13de3ffd No issue: Register observers with owner view 5 years ago
Emily Kager 895ba021e7 Hide toolbar in activity and remove label from home fragment 5 years ago
ekager 0143c54817 Suppress ComplexMethod error for openToBrowser 5 years ago
ekager ecdbdda94e Added BrowserDirection values for New Fragments 5 years ago
Denys M e68d594bbb For #747. Fix possible memory leak on `HomeActivity`. (#2440) 5 years ago
Emily Kager e4b4934f53 For #2393 - SearchTermsTapped even on URL should search (#2398) 5 years ago
Emily Kager 1c7f48be5b For #2214 - Use Settings + SharedPreferences for Private Mode (#2215)
* For #2214 - Use Settings + SharedPreferences for Private Mode

* Update other values to use SharedPreferences
5 years ago
Emily Kager 1e8de384d8 Closes #1556 - Add back button to LibraryFragment (#2200) 5 years ago
Emily Kager a07b6d8c0f Closes #2156 - Update theme for selected session in BrowserFragment (#2171) 5 years ago
Sawyer Blatz 70486039c0 Closes #2147: Refactors usage of openToBrowserAndLoad 5 years ago
Sawyer Blatz 3734d08f17
For #2144: Only opens to browser when necessary (#2145) 5 years ago
Sawyer Blatz d6879e2501 No issue: Sets BrowserFragment sessionId only in custom tabs 5 years ago
Emily Kager b11a7554c2 For #1836 - Update theme based on if session private (#2099) 5 years ago
Colin Lee 3450c6bcf1
Merge pull request #1785 from colintheshots/fix1301
For #1301: Add uri_count to metrics ping
5 years ago
Sawyer Blatz 46924544b6 For #1975 & #1627: Refactors getSessionById in BrowserFragment 5 years ago
Colin Lee 47c04de886 For #1279: Focus broken opening a link from external app after eviction 5 years ago
Sawyer Blatz 4945805e37
For #1954: Resolves QR scanner back press and keyboard issues (#2036) 5 years ago
Sawyer Blatz 28a852b17b Fixes #1683: Only show/hide keyboard in search fragment 5 years ago
ekager af613962e5 Only set the engine's theme when it is instantiated 5 years ago
Emily Kager 7871225083 No issue: Removes session time out related code 5 years ago
Emily Kager c939aee4cf Revert "For #689: Adds fade animation to Android <9.0"
This reverts commit 36e9939d9e.
5 years ago
Sawyer Blatz d9bc4bf502 Fixes #1632: Hides keyboard on exit, shows on entry 5 years ago
Sawyer Blatz 36e9939d9e For #689: Adds fade animation to Android <9.0 5 years ago
Emily Kager 21919445b1 For #897 - Set default theme so private mode doesn't have to recreate 5 years ago
Emily Kager aa2921d7d7 For #1406, #1465 - Only pop browser when all sessions have been removed 5 years ago
Colin Lee b54d4d1d58 Closes #1312, #1236, #1237, #1238, #1239: Creating, Editing, and Deleting Bookmarks and Bookmark Folders 5 years ago
Emily Kager 442ca9b79c For #627 - Set Engine Setting for PreferredColorScheme 5 years ago
Emily Kager a0c4acd4c6 Closes #1422 - Do not hide keyboard on pause 5 years ago
Sawyer Blatz 395d6f20d5
Fixes #1361: Adds new tab when selecting history or bookmark items (#1363) 5 years ago
Emily Kager fd1e3d6339 For #1323 - Attempt to pop inclusive out of browser if no current session 5 years ago
Colin Lee bd81e72239 Fixes #916, fixes #917, fixes #920: Save, share, and delete bookmarks 5 years ago
Sawyer Blatz 36af5107c6
Closes #875: Adds search shortcuts (#882)
* Closes #875: Adds shortcuts

* Refactor and clean up

* Remove TODO

* Removes local

* Fix nits

* Refactors to add ShortcutEngineManager
5 years ago
Jeff Boek ea01ae43be Addresses metrics nits 5 years ago
Jeff Boek b5bd9357fc For #986 - Adds support for opening Fenix with a link to telemetry 5 years ago
Jeff Boek 786592e8d0 For #959 - Adds telemetry for when the search bar is tapped 5 years ago
Jeff Boek 71a155c8f1 For #968 - Adds telemetry for app entry point 5 years ago
Emily Kager f52d9537c9 Closes #784 - After session timeout, pop everything to home 5 years ago
Sawyer Blatz 5e96b2037e
Closes #1039: Adds crash reporting (#1053)
* For #1039: Small cleanup

* Closes #1039: Adds crash reporting

* Add images

* Adds build settings back

* Fix nits
5 years ago
ekager fcda84dce7 Closes #1030 - Fixes navigation, white screen after back button 5 years ago
Jeff Boek 044e8fd7fa For #973 - Adds first metric to track 5 years ago
Sawyer Blatz a79134fdc3
Closes #823 & Closes #835: Refactors openToBrowserAndLoad to include fromFragment (#833) 5 years ago
Sawyer Blatz 6cef7803d1
No issue: passes intent to handleOpenedFromExternalSourceIfNecessary (#834) 5 years ago
Sawyer Blatz e200807a7a
Fixes #706: Adds launchMode singleInstance (#829) 5 years ago
Sawyer Blatz e57aa67d60
Closes #664 & Closes #665: Refactors load to respect private mode (#667) 5 years ago
Sawyer Blatz dddbb374e9 Fixes #661: Unflags OPEN_TO_BROWSER after use 5 years ago
ekager 7baafe2c37 Closes #647 - Private Mode Inherit from Dark Theme 5 years ago
Sawyer Blatz 53f391de60
Closes #537: Refactors private sessions (#629) 5 years ago
Sawyer Blatz e5fe80f928
Closes #347: Adds private browsing logic (#506)
* For #347: Adds private browsing logic

*  For #347: Adds private session explainer

* Adds persistence
5 years ago
Jeff Boek f37250127a Fixes #430 - Hides software keyboard when you background the app 5 years ago