Commit Graph

1780 Commits (4eb71ce23525708384ea419529af25239256fbfe)

Author SHA1 Message Date
Mihai Branescu c46bf84ac9 For #6330 Collections Numbering (#6453)
* For #6330 - Added logic for getting the recommended default collection name

* For #6330 - Added unit test for default collection number method
5 years ago
Tiger Oakes fe034226a3
For #5783 - Web Share with Fenix share sheet (#6883) 5 years ago
Mihai Adrian 6e9769a81b For #7031 - Hide progress bar when leaving DeleteBrowsingDataFragment (#7056) 5 years ago
Tiger Oakes 3f7205e3cb
Extract IntentProcessorType to its own file and add tests (#7012) 5 years ago
Severin Rudie 7477de83e9 For #4844: fix file prefix url shortening 5 years ago
Severin Rudie 957ed8aa88 For #5334: fix ETP shield coloring on custom private tabs 5 years ago
Mihai Adrian 45ae8cb35a For #6997 Avoid overwriting empty_search_string error (#6998)
Setting error twice also clips error message
5 years ago
Emily Kager 76e9200304 For #6922 - Check current destination is logins fragment before navigation (#6924) 5 years ago
Michael Comella 2a4aa24195 For perf-frontend-issues#33: Clarify VERBOSE logging motivation. 5 years ago
Michael Comella eef080a46c For perf-frontend-issues#33: Add HotStartPerformanceMonitorTest.
We really don't want our startup tests to subtlely change so I thought
it was worth writing some quick tests.
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
ekager 1647e07481 For #5771 - Don't force landscape mode on fullscreen 5 years ago
mcarare b6ba1a1611 For #4107 Make home screen fullscreen.
Add/Remove fullscreen flags in home fragment's onResume / onPause
Change homeLayout padding to include system bars height (status&navigation).
Change homeMenu orientation to UP to properly display menu.
Change home bottomBar background to transparent.
5 years ago
mcarare 17731620e6 For #7026 Dispatch ModeChange on hideOnboarding 5 years ago
Grisha Kruglov 42d6915699 Fennec migration: enable logins migration 5 years ago
Jeff Boek 45c6e3a784 For #1607 - Passes "custom" as the search engine identifier for custom engines 5 years ago
Severin Rudie dfea877fb7 No issue: small installedSearchEngineIdentifiers readability refactor 5 years ago
Severin Rudie 2aa80eff95 No issue: tests installedSearchEngineIdentifiers 5 years ago
Severin Rudie d3ff98816d No issue: begin moving FenixSearchEngineProvider into a testing harness 5 years ago
Severin Rudie 5f393bd5d4
For #5334: added private custom tab processor (#6845)
* For #5334: added private custom tab processor

* For #5334 - Fixes up IntentReceiverActivity for handling intents

* For 5334: update styling for private custom tabbs

* For 5334: update tests to account for new processors

Note that two are still failing. These appear to be true failures, and will be corrected in a later commit.

* For 5334: fixes bug introduced by changes to IntentReceiverActivity

RCA: intent className and extra were previously set based on which processors matched, not which successfully processed. This patch reintroduces that behavior.

* For 5334: add tests for custom tabs processing
5 years ago
kglazko 300d8317e1
Issue 5366 Vector Drawable Compat (#6904) 5 years ago
mcarare 45b9ffd66e For #6917 Emit mode change only when new mode is different from current 5 years ago
Mihai Adrian 3283d6ed0b For #6910 Align shortcuts in private onboarding panel style to… (#6950)
Divider only shows when both panel and "Search with" are visible
5 years ago
Mihai Adrian cbdf83c12a For #6943 Hide supportActionBar in onResume, not onCreate (#6978) 5 years ago
Gabriel 56b21426eb
For #5574 - Migrate SessionControl to LibState (#6651)
* For #5574 - Part 1: Port TabAction.SaveTabGroup to TabSessionInteractor and SessionControlController. (#6651)

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

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

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

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

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

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

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

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

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

- Removes TabAction

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- Renames SessionControlUIView to SessionControlView

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

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

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

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

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

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

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

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

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

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

* For #5574 - Removes running CI against the architecture debug build varient
5 years ago
Jeff Boek d4e3a2037f For #6855 - Filter out duplicated bundled search engines
Co-authored-by: Severin Rudie <Baron-Severin@users.noreply.github.com>
5 years ago
mcarare c3389dcdb5 For #6070 Adds telemetry for enabling search suggestions in private 5 years ago
Jeff Boek 781b141bc7 For #6849 - Properly select a new default search engine when you delete the current one
Co-authored-by: Severin Rudie <Baron-Severin@users.noreply.github.com>
5 years ago
Jeff Boek eb6e6b774f For #6848 - Sorts the search engine list without case sensitivity
Co-authored-by: Severin Rudie <Baron-Severin@users.noreply.github.com>
5 years ago
Jeff Boek 1cc496a683 For #6847 - Properly rebuilds the SearchEngineList on undo
Co-authored-by: Severin Rudie <Baron-Severin@users.noreply.github.com>
5 years ago
Emily Kager d1b134c2ff For #6908 - Set null anchors for snackbars with top toolbar (#6911) 5 years ago
Jeff Boek e8972bb47d For #6795 - Auto shows toolbar when loading a new URL (#6955)
Co-authored-by: Severin <Baron-Severin@users.noreply.github.com>
5 years ago
ekager 3df32edff0 No issue: Fix search suggestions strings 5 years ago
ekager f227acc9f0 For #6791 - Inflate SavedLoginsListItemViewHolder layout explicitly 5 years ago
ekager d8babadf7f For #6889 - Check current destination before navigating from settings 5 years ago
ekager f5cf0b7e2a For #6890 - Don't crash with no connection when adding custom search engine 5 years ago
Severin Rudie 2a95a82e32
For #5540: updates error page copy when no internet is available (#6803) 5 years ago
cesar 6cda430cdd nested loop removed 5 years ago
cesar 4422e3ed39 Closes #6731 - fixed BookmarkNode minus operator and deleteOperation 5 years ago
mcarare 41ccb02933 For #6516 On browsing mode change empty tab list before displaying new list 5 years ago
Tiger Oakes a16aedb680 For #6827, #6811 - Cast layoutParams to MarginLayoutParams 5 years ago
Tiger Oakes d5e01384d8
Suppress upcoming deprecation (#6765) 5 years ago
Gabriel Luong 85111f538a For #6857 - Replace BackHandler with UserInteractionHandler in InflationAwareFeature and InflationAwareFeatureTest 5 years ago
Jeff Boek 1b1f9348dc No Issue - Fixes warnings / compiler errors with A-C update 5 years ago
mcarare c5f18e0f96 For #6629 Align Private Browsing mode to UX specs 5 years ago
ekager 7cd1d55e00 For #5586 - Track all login copy events 5 years ago
Will Hawkins a69253cf22 Issue #5183: Initialize megazord asynchronously
Thanks to the work of the team at application-services, it is possible
to asynchronously initialize the Http client and logger used by megazord
Use that power to hide the time necessary to complete this initialization
within the time that it takes to warmup the gecko runtime.
5 years ago
mcarare f69eb83141 For #4219 Set url view not important for accessibility
Talkback rectangle for url view selection will include parent view
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
Mihai Branescu 7cf71c8ef3
For #6396 - Added metrics for tracking history/bookmarks account sync toggles (#6601) 5 years ago
Mihai Adrian 4fd3aa8649
For #2570: Hide 3-dots menu for all library items when in select mode. (#6736)
notifyDataSetChanged to avoid not displayed but created items not being redrawn
5 years ago
Jeff Boek 5f7b3bd4d7
For #5972 - Fixes bugs when launching in private mode on Android 5 (#6702) 5 years ago
Sawyer Blatz db02fc6ef8
For #6821: Fixes issues with custom tabs and dynamic toolbar (#6822) 5 years ago
Mihai Adrian 33b49ff7fd For #6430 Private browsing hint width should not exceed screen dimensions (#6786)
Renamed ambiguous pop-up window name.
Adjusted code to match max line length.
5 years ago
Sawyer Blatz 769c1e422d For #5694 & #6054: Allows users to change toolbar position (#6608)
* For #5694 & #6054: Adds preference screen for toolbar

* For #5694: Adds changing toolbar position functionality

* No issue: Updates telemetry links to actually work lol 😬

* For #6054: Adds toolbar position to core ping
5 years ago
Tiger Oakes 422faaf7c0 Add toolbar helpers (#6531) 5 years ago
Tiger Oakes 7e8f079269
Use ShareData with ShareFragment (#6698) 5 years ago
Christian Sadilek 8271f0f55a Fix for A-C 23.0.0: onDownloadCompleted renamed to onDownloadStopped 5 years ago
Tiger Oakes cd3e077bc9 For #6763 - Fix early view access 5 years ago
Daphne Liu 4cfbaf2dc4 Switched to AC string extensions (#6258)
* Switched to AC string extensions

* Clean up imports
5 years ago
ekager 45071d6fc1 For #6573 - Fixes anchor view for tab switching snackbar 5 years ago
Sawyer Blatz bcf80d0e0b
For #6436: Adds snackbar for failed download (#6648) 5 years ago
Tiger Oakes a5e9439c6e Clean up tracking protection fragment (#6532)
* Clean up exceptions fragment

* Clean up tracking protection fragment

* Move saved logins to list adapter
5 years ago
Sebastian Kaspari 8a330d413c Closes #4982: Migrate Gecko files before initializing engine. (#6738) 5 years ago
Stephen Tsimicalis 9869408fb4 For #4824 - Fixes onboarding telemetry events from being sent a… (#6659) 5 years ago
Mihai Adrian e07d09afb8 Update app/src/main/java/org/mozilla/fenix/home/HomeMenu.kt
Co-Authored-By: Tiger Oakes <contact@tigeroakes.com>
5 years ago
mcarare 9258df2c69 For #3523 Add Firefox Sync error states also to Settings in Home menu 5 years ago
matthewcmckenna afac413c98 Add ETP accessibility labels 5 years ago
Tiger Oakes 0a86676563 For #6523 - Remove close button in library 5 years ago
mcarare 1d36098878 For #1019 Add onboarding search suggestion hint panel 5 years ago
mcarare 5543f3272d For #1019 Add option to enable search suggestions in private mode 5 years ago
mcarare ef3c3de8a1 For #6625 Fix back navigation in search mode from browser 5 years ago
Tiger Oakes bd475d54e5 Extract TP onboarding popup (#6700) 5 years ago
Grisha Kruglov f099552ae3 Enable encryption of persisted FxA account state 5 years ago
Jeff Boek 54773afb68
For #2477 - Removes the feature flag for Force Enable Zoom (#6646)
* For #2477 - Removes the feature flag for Force Enable Zoom

* For #2477 - Fixes bug where zoom preference doesnt persist between launches
5 years ago
ekager 81ab082c1c For #6707 #6708 - Fix UI Tests for new Search Engine Behavior 5 years ago
Jeff Boek 607c3d4c87
Adds custom search engines (#6551)
* For #5577 - Adds button to add a new search engine

* For #5577 - Adds custom engine store

* For #5577 - Creates a custom SearchEngineProvider

* For #5577 - Gives the ability to delete search engines

* For #5577 - Adds the UI to add a custom search engine

* For #5577 - Adds form to create a custom search engine

* For #5577 - Adds the ability to add a custom search engine

*  For #5577 - Adds the ability to delete custom search engines

* For #5577 - Selects the first element on the add custom search engine screen

* For #5577 - Prevents adding a search engine that already exists

* For #5577 - Styles the add search engine preference

* For #5577 - Makes the name check case-insensitive

* For #5577 - Fix bug where home screen doesnt see new search engines

* For #5577 - Moves Search URL validation to its own type

* For #5577 - Fixes linting errors

* For #5577 - Adds the ability to edit a custom search engine

* For #5577 - Allows the user to edit a serach engine even when it is the last item in the list

* For #5577 - Adds an undo snackbar when deleting a search engine

* For #5577 - Moves all of the strings to be translated

* For #5577 - Fixes bug when deleting your default search engine

* For #5577 - Puts adding search engines behind a feature flag

* For #5577 - Navigate to custom search engine SUMO article when tapping learn more

* For #5577 - Fixes nits

* For #5577 - Uses concept-fetch to validate search string

* For #5577 - Adds string resources for the cannot reach error state
5 years ago
mawen7 1e813a9609 Jump to tab overview if closed tab has no parent session 5 years ago
cesar 560fa7a5b5 For #6594 - Trigger keyboard automatically when creating a bookmark folder 5 years ago
cesar 063115b215 For #6593 - Hide keyboard when quitting add bookmark folder flow 5 years ago
ekager ab93779369 For #6621 - Add Secure Flag to Window in Logins Fragments 5 years ago
David Walsh c69e72bdba Fix 3809 - Show entire URL in security info view 5 years ago
Sawyer Blatz 6f4de48428 For #6434: Fixes downloadCompleted for paused downloads 5 years ago
Roger Yang f3fc532e0e Closes #6440 Integrate Web Notifications Feature 5 years ago
Mihai Adrian 55a200907a For #2570: Hide 3-dots menu for all library items when in select mode. (#6321)
Used notifyItemRangeChanged to redraw already drawn items.
5 years ago
Severin Rudie 8d68317388
4844 fix url elision (#6588)
* For #4844: add test cases for url elision

* For 4844: implement toShortUrl to pass test cases

* For 4844: update plumbing to use toShortUrl

* For 4844: adds/handles suggested url elision test case
5 years ago
Gabriel Luong c6562bff98 For #5583 - Adds telemetry for download notification (#6554) 5 years ago
Patrick Martin 5eb5cdf361 For #1695 - Detect HTML mime type for clipboard URL (#6612)
* For #1695 - Detect HTML mime type for clipboard URL
5 years ago
MozLando 204ead0827 Merge #6513
6513: For #5295 [A11y] Unable to tap snackbar r=kglazko a=kglazko



Co-authored-by: Kate Glazko <katglazko@gmail.com>
5 years ago
Will Hawkins 7173bdf0b1 Issue #6196: Make initialization of Glean metrics faster
setStartupMetrics is very expensive and does not need to be
done synchronously at the time the Glean Metrics Service is
initialized.
5 years ago
Emily Kager ddd484387d No issue: Check destination before popping logins fragments 5 years ago
Tiger Oakes fdd7400ccc Use ViewModel for share fragment 5 years ago
Tiger Oakes 333ff8c941 Fixes #4528 - Prevent share menu from jumping
Plus a bunch of docs and refactoring
5 years ago
ekager d85ed27a3d Add override for Core val in test 5 years ago
Emily Kager c43f96096e For #5074 - Sync Logins, Uses KeySharedPreferences for Passwords Encryption Key 5 years ago
Kate Glazko e038e0c41d 5 years ago
Tiger Oakes ee4e1c8f39
Fixes #5085 - Use CustomTabWindowFeature (#6603)
Opens _blank links in new custom tab
5 years ago
Gabriel ebdfe8184e For #5705 - Adds telemetry for media state (#6463) 5 years ago
David Walsh 9d5c03c067 Use consistent verbiage with regard to opened tabs (#6550) 5 years ago
Emily Kager cc318021cc For #5586 - Adds Logins Telemetry (#6352)
* For #5586 - Adds Logins Telemetry

* Adds Logins Sync Telemetry to PreferenceToggled event
5 years ago
mcarare f6a66562dd For #4487 Set activity title only once in Bookmark fragment
Removed label from nav_graph that caused label to be set for each navigation
Removed title setting in onCreate() called for each navigation
Changed logic for checking current root when setting UI for normal mode
5 years ago
Arturo Mejia 0275ca0693 No issue: Do not prevent trackers duplication in the tracking
protection panel.
5 years ago
mcarare 13637c59a2 For #6543 Hide keyboard when saving a new bookmarks folder 5 years ago
Severin Rudie 6909a76bcb
4281 remove qab (#6310)
* For #4281: small ToolbarMenu refactor

This makes it easier to see how items are ordered in the menuItems list

* For 4281: add QAB buttons to menu

* For 4281: removed menu back button per mocks

I double checked with UX, and we'll be relying on the hardware back button for its functionality

* For 4281: add content descriptions for bookmarking

* For 4281: updated BrowserToolbarController for new functionality

* For 4281: provided simple dependencies to browser controller

More complex changes will be in a following commit, for review readability

* For 4281: move toolbar controller dependencies up to BaseBrowserFragment

The functionality they control is being moved into the toolbar menu, which is shared by both normal tabs and custom ones

* For 4281: removed (now unused) code related to QAB

* For 4281: fix test compilation after QAB removal

Tests still need to be expanded to include added functionality

* For 4281: updated menu to show if url is bookmarked

This sloppy workaround is required because TwoStateButton requires that `isInPrimaryState` be a synchronous call, and checking whether or not the current site is bookmarked is quite slow (10-50 MS, in my tests).  After days of work and many attempted solutions, this was the least abhorrent among them.

https://github.com/mozilla-mobile/android-components/issues/4915 was opened against AC to evaluate potentially supporting async `isInPrimaryState` functions.
https://github.com/mozilla-mobile/fenix/issues/6370 was opened against Fenix to investigate the unexpectedly slow call to `BookmarkStorage`.

* For 4281: update reader mode switch

* For 4281: selectively show/hide menu items

* For 4281: add reader mode appearance

* For 4281: update bookmark button when it is clicked

* For 4281: removed unused QAB code

* For 4281: removed QAB robot, updated UI tests

* For 4281: removed QuickActionSheet metrics

Since this behavior now lives in the toolbar, it is tracked via Event.BrowserMenuItemTapped

* For 4281: fixed lint errors

* For 4281: add new strings for buttons added to menu

This is necessary because the location change (from QAB to toolbar menu) could affect the grammar in some languages

* For 4281: remove outdated TODOs

* For 4281: removed QAB container

* For 4281: removed back button reference from UI test

This button no longer exists

* For 4821: Fixes a visual defect (extra padding on top of toolbar)

* For 4281: update copy on reader mode

* For 4281: fixed review nits
5 years ago
mcarare 11ad1010a9 For #6323 Creating 1st collection from tab shows Name collection screen
Added a check for existence of at least a collection to select from.
5 years ago
Sawyer Blatz d6aeeb2dec
For #5958: Adds in app download notifications (#6506) 5 years ago
Mihai Adrian 1388156953 For #1211 Hide the keyboard when scrolling through engine suggestions (#6474) 5 years ago
RAJESH KUMAR ARUMUGAM 6ee59322b5 Added Vibration Effect On Scanning QR Code (#6129)
* Added Vibration Effect On Scanning QR Code

Added Vibration Feature for the new feature Request
Vibrate phone upon successful pairing #2928

* Added Vibration Effect On Scanning QR Code

Added Vibration Feature for the new feature Request
Vibrate phone upon successful pairing #2928

* Update PairFragment.kt

Removed unwanted blank lines

* Update PairFragment.kt

Removed the Casting with !!
5 years ago
Emily Kager d9615108ee For #6354 - Removes ETP Experiment, Removes Feature Flags, Sets Strict Default 5 years ago
mcarare 1ff5a1934e For #5709 Do not animate switch for ETP panel 5 years ago
ValentinTimisica e1f3611fdd Fixes #6408: Pop stack to homeFragment when opening bookmarks from homeFragment
When bookmark fragment is opened from homeFragment, libraryFragment does not
exists so the popBackStack(R.id.libraryFragment, true) would have failed. So
the solution for this was to pop back stack to homeFragment when the
bookmarks/history fragments are opened from homeFragment.
5 years ago
Grisha Kruglov 40047315c2 For #6490 - track abnormal FxA behaviour via Sentry 5 years ago
Emily Kager ef7a23c875 Adds webAppShortcutManager argument 5 years ago
Tiger Oakes afda836f1f Use ManifestUpdateFeature 5 years ago
Sawyer Blatz 4183dea591 For #5547: Reuse biometricPrompt when authenticating
This fixes an issue with Samsung devices where an invisible DeviceCredentialHandler because the executor was "null" (it wasn't actually)

You *must* reuse the biometric object instead of creating a new one.
5 years ago
Emily Kager 3e2b88cc91 For #5547 - Add top level auth when accessing passwords 5 years ago
Sawyer Blatz 284f3cf0f5 For #4456: Updates total_uri_count upload (#6482) 5 years ago
Sawyer Blatz a4ad2116ae
For #6390: Fixes textColor on download prompt (#6468) 5 years ago
Sawyer Blatz 0d5fb67303 For #6284: Fixes SearchShortcut button functionality when in a session
This makes it so searchShortcuts button works when going from browser -> search
5 years ago
Mihai Branescu 2b955c1a1a For #6087
- added engine hashmap so that we create each type of search provider once
(previously the providers to be added were checked by id, but since the id
is a UUID, it was always unique -> bug with multiple providers with same engine
but different id
- refactored update() flow so that it's more understandable + remove complex
method warning
5 years ago
ekager 18c0525ff6 Use new API for ETP Exceptions 5 years ago
Emily Kager ca8ba57635 For #6441: Fix variant build type matching (#6462) 5 years ago
Emily Kager 1ee0703bc3 For #6441 - Only enable experiments for Beta/Prod 5 years ago
Christian Sadilek a7e139da8e Use new WindowFeature API after browser-state migration 5 years ago
Mugurell c5739df969 For #4126 - Add tests for the new classes resulting from refactoring
Used runBlocking to ensure we wait for the code using coroutines to execute
instead of runBlockingTest and join() since this last option led to failed
tests in CI because of
"java.lang.IllegalStateException: This job has not completed yet".
5 years ago
Mugurell 9f56624788 For #4126 - Document the newly introduced public APIs
Now that the code should be in a ready-to-ship form it would be nice to have
all the major functionalities properly documented.
5 years ago
Mugurell d70afcaa90 For #4126 - Handle all business logic with Interactors and a Controller
Combined all Stores into one for all Views shown in on Fragment.
Used a static `createStore()` which will build the initial state residing
inside the Store and not in the Fragment as to decouple the Fragment from the
business logic needed to build all the needed initial States.
Added Interactors that handle a MVI View's business logic for
TrackingProtectionView and WebsitePermissionsView.
WebsiteInfoView doesn't register any user input events and does not have any
reason to change while it is displayed so it does not have an Interactor.
The two Interactors will delegate Fragment's QuickSettingsController for
complex Android interactions, communication with other app features or for
Store updates.
Also refactored the stubs from the previous commit so that with this commit the
the quicksettings feature should all be working now based on lib-state.
5 years ago
Mugurell f1f74bc3d6 For #4126 - Refactor Views and layouts
Refactored `fragment_quick_settings_dialog_sheet` to now be composed of of
FrameLayouts placeholders in which each independent View will inflate itself.
Refactored the QuickSettingsUIView and Component to 3 standalone Views with
their own lib-state components: Store, State, Actions, Reducer.
5 years ago
ValentinTimisica 1e13e70cd0 Fixes #5917: Show snackbar when URL is copied (#6210)
Show a snackbar to the user for him to know that the URL was copied to
clipboard.
5 years ago
Tiger Oakes 9456998f9f For #6153 - Add powered by notification 5 years ago
ValentinTimisica 34959a434f Fixes #6341: Initialize 'selectedTabs' based on opened/selected tabs.
The problem was that the parameter 'selectedTabIds' was not taken into account
when initializing the variable 'selectedTabs'. So I made the initialization
based on both the selected tab and the number of open tabs.
5 years ago
mcarare 349c0193d9 For #6342 Clicking add tab button from home screen finishes onboarding 5 years ago
Sawyer Blatz e62407e766
For #5959 & #5958: Integrates download feature into Fenix (#6368) 5 years ago
mcarare 41c9b9e958 For #1487 Add "my library" menu category and items to home 3-dot menu 5 years ago
Artur Dryomov 05e871dd0c No issue: Refactor errors to risk level conversion. (#5710) 5 years ago
Sawyer Blatz 8549b80272 For #4456: Adds total_uri_count to metrics core ping (#6003) 5 years ago
Sawyer Blatz fd22c43f9d
Fixes #6344: Adds null check for adjust campaign (#6348) 5 years ago
Chenxia Liu 41ee8a4efb For #6294 - When only one tab is being saved to collection, add it to selected tabs. 5 years ago
Sawyer Blatz 2a358db561
For #1298: Fixes issue with Adjust campaign not sending through Glean (#5896) 5 years ago
Christian Sadilek ee3871cd7c Closes #5678: Selected session may render in ExternalAppBrowserActivity 5 years ago
Mihai Branescu 432d5fbff4 For #5848 Wrong toolbar colour - edit bookmark fragment (#6047)
- Moved toolbar coloring to extension method
- Refactored classes using it
- Removed selection mode colouring for EditBookmarkFragment toolbar,
making it only black and white (normal mode)
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
ekager fb17ae2258 For #6229 - Remove all tab options from custom tab context menu 5 years ago
Emily Kager 6435a503ca For #6219 - Reset default setting if user opts out of experiments 5 years ago
Jonathan Almeida 59c0fb504e Revert "For #373 - Integrate leanplum-fcm"
This reverts commit ed239ec250.

We're choosing to revert LeanPlum push messaging integration since we believe
that this has introduced a crash in Firebase push messaging. To verify
this assumption we're reverting this change, and when confirmed, we can
re-introduce Leamplum in a safer manner.

See #6250 and #6251 for related info.
5 years ago
Sawyer Blatz 4359c215e6 For #5737: Adds telemetry for open links in a private tab (#5975) 5 years ago
Denys M 6290c0c826 Closes #2441. Update LeakCanary to `2.0-beta-3` version. 5 years ago
ekager f49331de55 For #5544: Bare Minimum Logins UI 5 years ago
Jeff Boek d1643b785e For #2477 - Adds accessibility setting to force enable zoom 5 years ago
Sebastian Kaspari b3ce0b421b Update to Mozilla Android Components 19.0.0-SNAPSHOT. 5 years ago
Sebastian Kaspari 9543f38978 Use new toolbar API of AC 18.0.0. 5 years ago
Sawyer Blatz 2cba624609
No issue: Fixes string issues for l10n (#6158)
Issues found here: https://github.com/mozilla-l10n/android-l10n/pull/89
5 years ago
MozLando cc9ee5a3d8 Merge #5332
5332: For #2483 #2629: Close tab with no history on back press and return to parent if available r=ekager a=mawen7



Co-authored-by: mawen7 <mawen7@users.noreply.github.com>
5 years ago
Severin Rudie f812ae4259 For #3676: fix duplicate uri events on first load (#6128) 5 years ago
mawen7 3af307b47f Close tab with no history on back press and return to parent if available 5 years ago
Severin Rudie aa8642f534
#4596 migrate collections (#5911)
* For #4596: move code from CollectionCreationComponent to CollectionCreationStore

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

* For 4596: update CollectionCreateStore to libstate

* For 4596: copied CollectionCreationUIView into CollectionCreationView

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

* For 4596: update CollectionCreationView to LibState

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

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

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

* For 4596: implemented CollectionCreationController

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

* For 4596: copied over previous reducer code

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

* For 4596: update reducer code param names

Otherwise, no changes at this time

* For 4596: add arguments to CreateCollectionFragment in nav_graph

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

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

The VM will be removed in a later commit

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

* For 4596: removed CreateCollectionViewModel

* For 4596: test tab retrieval in CreateCollectionFragment

* For 4596: fix crashing CreateCollectionFragmentTest

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

* For 4596: collection interactor rename + kdoc

* For 4596: moved collection interactor interface

* For 4596: renamed CreateCollectionFragment

All related classes followed the pattern of CollectionCreationX

* For 4596: kdoc CollectionCreationController

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

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

* For 4596: removed unused collection actions

These were unused before the LibState refactor

* For 4596: kdoc StepChanged

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

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

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

stepBack: called by handleBackPress. See above

* For 4596: wrote tests for CollectionCreationController#stepback

* For 4596: fixed tests broken by changes to collections

* For 4596: small readability refactor for CollectionController#stepBack

No change to functionality (see tests)

* For 4596: broke apart CollectionView#update

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

* For 4596: remove unnecessary todos

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

* For 4596: test CollectionCreationController#normalSessionSize

* For 4596: updated naming in CollectionCreationController per review
5 years ago
Pawel Obarzanek 40cda1d758 Closes #2435 Change edit icon to share icon on the book… (#6137)
* Closes mozilla-mobile#2435 Change edit icon to share icon on the bookmark toolbar

* Closes mozilla-mobile#2435 Changed raw string to string resources

* Pass bookmark arguments to share fragment

* Closes mozilla-mobile#2435 add orEmpty
5 years ago
Tiger Oakes cbc449d3b6 Refactor asCamelCase to use string builder (#6141) 5 years ago
Sebastian Kaspari 5d5358ae45 Issue #36170: BaseBrowserFragment: Use new feature-prompts API. 5 years ago
Tiger Oakes 4e3a3665d6 For #3366 - Use one layout for edit/add bookmark (#5900) 5 years ago
Mihai Adrian fbec001e28 For #1383: Fix updating description of close button on title change. (#6020) 5 years ago
ValentinTimisica ef42d3e4dc Fixes #5030: Modified Dialog to match the others. (#6022)
I changed the Dialog from permissions exceptions and used AlertDialog
instead of Context.alert extension function.
5 years ago
Mihai Branescu e23528291a For #6063 - changed ETP blocking info title strings (#6082) 5 years ago
Shangeeth Sivan d223a0bd35 Closes #5465: Added OnCheckListener to all checkboxes ,when there are no items checked delete button will be disabled (#6098) 5 years ago
ValentinTimisica 485ccba189 Fixes #5323: Show a snackbar while browsing data is deleting. (#6105) 5 years ago
Jeffrey Starke 2de6a9aca7 Don't show fingerprinters section of the standard tracking policy UI (#6125) 5 years ago
Sören Hentzschel a76cd9cc67 no issue - removed unused feature flags (#6143) 5 years ago
MozLando b963a3eab5 Merge #6102 #6106
6102: For #6018 Re-add Search Shortcuts Button r=boek a=BranescuMihai



6106: For #5872 & #6075: Set TabHeader buttons to invisible instead of gone. r=boek a=mcarare

At least one button has to be invisible instead of gone to keep layout height.
Tabs overflow button kept gone to avoid empty space on view end in private mode.



Co-authored-by: Mihai Branescu <branescu.mihai2@gmail.com>
Co-authored-by: mcarare <mihai.carare.dev@gmail.com>
5 years ago
MozLando a5755d131f Merge #6107
6107: Fix #3122 - Hide the "Bookmark saved" Snackbar when user closes BrowserFragment r=boek a=Mugurell

Previously the Snackbar was being inflated in the parent of this Fragment so
surviving it being closed.
Tying the Snackbar with the Fragment from which it is shown ensures it will be
effectively hidden whenever the user navigates from the Fragment.



Co-authored-by: Mugurell <mugurell@users.noreply.github.com>
5 years ago
Tiger Oakes e572562c7a Cleanup shortcut code 5 years ago
Tiger Oakes a598148b29 Fixes #5225 - Hide AuthCustomTabActivity 5 years ago
mcarare 86217eb105 For #5872 & #6075: Set TabHeader buttons to invisible instead of gone.
At least one button has to be invisible instead of gone to keep layout height.
Tabs overflow button kept gone to avoid empty space on view end in private mode.
5 years ago
Mihai Branescu 2be4d08228 For #6018 - Added back shortcuts button in awesomebar
Refactored logic for adding providers, since shortcut providers should
be alone in the list, while all others can be as list
5 years ago
Mugurell faddf368e1 Fix #3122 - Hide the "Bookmark saved" Snackbar when user closes BrowserFragment
Previously the Snackbar was being inflated in the parent of this Fragment so
surviving it being closed.
Tying the Snackbar with the Fragment from which it is shown ensures it will be
effectively hidden whenever the user navigates from the Fragment.
5 years ago
MozLando aa1a5f3d32 Merge #6026
6026: For #5709: Align ETP onboarding popup implementation with original mocks r=ekager a=mcarare



Co-authored-by: mcarare <mihai.carare.dev@gmail.com>
5 years ago
MozLando 610a70a8bc Merge #6024
6024: For #5749 - Update string for ETP onboarding popup r=ekager a=BranescuMihai



Co-authored-by: Mihai Branescu <branescu.mihai2@gmail.com>
5 years ago
MozLando a1f96a0ec7 Merge #6025 #6032
6025: For #5063: Added parameter customTabSessionId into ContextMenuFeature r=ekager a=ValentinTimisica

Added parameter customTabSessionId into ContextMenuFeature in
BaseBrowserFragment in order to show the context menu in a custom tab.



6032: For #5990: Revert sessionTokenScope to fix broken QR pairing flow r=ekager a=grigoryk

Seems like addition of sessionTokenScope is causing issues with pairing. For now, we can revert that change until the underlying issue is fixed.

For #5990.



Co-authored-by: ValentinTimisica <valentin.timisica@softvision.ro>
Co-authored-by: Grisha Kruglov <gkruglov@mozilla.com>
5 years ago
Grisha Kruglov 031f923273 Revert sessionScopeToken to fix broken QR pairing flow 5 years ago
mcarare b82a794908 For #5709: Align ETP onboarding popup implementation with original mocks 5 years ago
ValentinTimisica 6fa9572ccf Fixes #5063: Added parameter customTabSessionId into ContextMenuFeature
Added parameter customTabSessionId into ContextMenuFeature in
BaseBrowserFragment in order to show the context menu in a custom tab.
5 years ago
Mihai Branescu 1490c0178f For #5749 - Update string for ETP onboarding popup 5 years ago
MozLando 9d3dc2b6dc Merge #5775
5775: Closes #5233, don't display private-browsing-shortcut creation items if shortcut already exists r=NotWoods a=bswe

Closes issue #5233:

Added doesPrivateBrowsingPinnedShortcutExist() method to the PrivateShortcutCreateManager class to check for the existence of the shortcut.  Code only works on devices with API 25 or higher, so a check for that condition was also included in the new method.

Calls to the new method were added to the SettingsFragment and HomeFragment classes to determine whether the settings menu item and the recommendation dialog should be displayed.

**Quality**: The pre-push test failed to start on my windows 10 OS, but this code has been thoroughly tested manually on simulators and physical devices.

**Tests**: This code only effects UI appearance so not sure how to test for that and no tests were written.

**Screenshots**: This code does not add anything new to the UI, it only controls whether to display existing items.

Co-authored-by: bswe <bbollenbacher@mindspring.com>
5 years ago
ekager 663126f696 No issue: Remove black flash workaround 5 years ago
bswe a570b910c2 Reformatting to simplify use of .any construct as suggested in review 5 years ago
bswe 6bc5d96f92 Reformatting to use .any construct as suggested in review 5 years ago
bswe 052695ffa1 Issue #5233: Minor modifications suggested in code review. 5 years ago
bswe 7ec714552f Issue #5233: Added call to doesPrivateBrowsingPinnedShortcutExist function to determine whether the "recommend private browing shortcut" dialog is displayed. 5 years ago
bswe 9913a024d8 Issue #5233: Added call to doesPrivateBrowsingPinnedShortcutExist function to determine whether the "add private browing shortcut" item is visible in the settings menu. 5 years ago
bswe dcebd83e9f Issue #5233: Added doesPrivateBrowsingPinnedShortcutExist function to determine whether a shortcut already exists (only available in API >=25). 5 years ago
MozLando 8e4d7248ac Merge #5908
5908: Closes #5876: Removed @ObsoleteCoroutinesApi in tests r=sblatz a=shldhll


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

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

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

Co-authored-by: shldhll <iam.shldhll@gmail.com>
5 years ago
MozLando 2856e6b8c7 Merge #5973
5973: For #5898: Launch SUMO article properly for default browser r=colintheshots a=sblatz



Co-authored-by: Sawyer Blatz <sdblatz@gmail.com>
5 years ago
Sawyer Blatz 2395b9b941 For #5898: Launch SUMO article properly for default browser 5 years ago
MozLando 6b6c752fa9 Merge #5956
5956: For #5947 - Fix engineView NullPointerException r=csadilek a=ekager



Co-authored-by: ekager <emilykager@gmail.com>
5 years ago
MozLando fba375135f Merge #5933
5933: Removes legacy nightly automation r=johanlorenzo a=mitchhentges



Co-authored-by: Mitchell Hentges <mhentges@mozilla.com>
5 years ago
MozLando bb22fb3092 Merge #5507 #5846
5507: For #1383 Added tab title to close button content description r=ekager a=mcarare


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

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

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

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


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

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

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

Co-authored-by: mcarare <mihai.carare.dev@gmail.com>
5 years ago
ekager e8bb765ad7 For #5947 - Fix engineView NullPointerException 5 years ago
MozLando f66b9f3e8f Merge #5633
5633: Add fxa/sync integration tests r=csadilek a=isabelrios

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

This PR tries to add new tests, sync integration tests, to check the sync process Desktop<->Fenix, first for Bookmarks and in the future for more.

Co-authored-by: Isabel Rios <isabelrios@mackbookirios.home>
Co-authored-by: isabelrios <isabelrios@gmail.com>
5 years ago
MozLando 8cf54f773b Merge #5882
5882: For #5873 Added on/off indicator for delete browsing data on exit pref r=sblatz a=mcarare


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

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

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

Co-authored-by: mcarare <mihai.carare.dev@gmail.com>
5 years ago
Mihai Adrian 167c6dca93 For #2570: Hide 3-dots menu for all library items when in select mode (#5699)
Removed items from RecyclerView cache to allow setting the new visibility
Disabled hidden buttons, otherwise they could still be clicked
5 years ago
Sawyer Blatz 980b11610b For #5094: Adds telemetry for show search shortcuts 5 years ago