1
0
Fork 0
Commit Graph

1836 Commits (1ed185d4c2fcd81f091deed8efc3c10b657608b5)

Author SHA1 Message Date
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.
2020-01-07 18:40:07 -08:00
Mugurell 8454f208af For #4977: Migrate fennec shortcuts (#7251)
* For #4977 - Support opening Fennec pinned website shortcuts in Fenix

Fennec's pinned website shortcuts are set to open the BrowserApp activity.
So we need a new activity alias to actually catch such Intents. Otherwise they
would open "org.mozilla.firefox/.App" without any way to inform that this is
the result of the user clicking on a pinned shortcut.
For actually checking if the newly received Intent is of a Fennec pinned
shortcut we introduce a new FennecBookmarkShortcutsIntentProcessor which will
prepare the Intent to open the shortcut's URL in a new tab.

* For #4977 - Don't keep IntentReceiverActivity on the back stack

For successive Fennec pinned shortcuts to create a new IntentReceiverActivity
and be processed as normal we need to not keep this as our task root.

* For #4977 - Test the FennecBookmarkShortcutsIntentProcessor
2020-01-07 09:07:51 -08:00
Jeff Boek fdb1f505cc For #5552 - Reverts temporary fix for #5552 2020-01-07 12:24:20 +02:00
Tiger Oakes 75b87334fa
Change type for OnboardingAutomaticSignIn (#7474) 2020-01-06 14:25:52 -08:00
Michael Comella 4bab493487 No issue: remove useless @MenuRes annotation in History Fragment.
This annotation was not applied correctly and lint was unable to ensure
it was used properly: it declared an error in lint saying so but that
error was ignored. I did not know how to apply the annotation - and I
felt it had limited utility - so I removed it entirely in order to
permit the lint baseline file to be removed (it was the only error).
2020-01-06 18:27:51 +02:00
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>
2020-01-03 18:15:35 -08:00
Severin Rudie 9cbc3f7a4a
7410 remove rxjava (#7426)
* For #7410: rewrite updateBookmarkFromObservableInput with coroutines

* For 7410: remove RxJava from project. :(

* For 7410: converted updateBookmarkFromTextChanges to Flow per review
2020-01-03 14:37:12 -08:00
Jonathan Almeida 0768fde945 No issue: Use SendTabFeature and FxaPushSupportFeature 2020-01-03 10:20:53 -05:00
Sawyer Blatz c7c4ad051a
For #6413: Adds more snackbar positioning logic (#7444)
* For #6413: Adds more snackbar positioning logic

* Refactor
2020-01-02 14:31:52 -08:00
Roger Yang f6e286fd9c
Closes #7346: Enable dynamic app links in Fenix (#7361) 2020-01-02 13:08:11 -05:00
Sawyer Blatz 3fb060f682
For #6413: Fixes snackbar positionining for bottom toolbar (#7415)
* For #6413: Fixes snackbar positionining for bottom toolbar

* For #6413: Cleans up snackbar usage
2019-12-30 14:43:15 -08:00
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
2019-12-30 14:42:13 -08:00
Michael Comella cf143489e1 For #6464: Replace use of BuildConfig.DEBUG with ReleaseChannel.channel.isDebug.
This fixes performance issues where StrictMode would greatly slow down
startup in the forPerformanceTest variants.
2019-12-30 10:31:33 -08:00
Michael Comella ac97dd72b1 For #6464: Set "forPerformanceTest" to ReleaseChannel.FenixProduction.
This fixes a perf measurement issue where Sentry would capture an event when
using the forPerformanceTest variants.
2019-12-30 10:31:33 -08:00
Michael Comella f11ddf8038 For #6464: Add ReleaseChannel.isDebug. 2019-12-30 10:31:33 -08:00
Severin Rudie f562c81fb2 For 5334: test NotificationSessionObserver 2019-12-30 11:40:07 +02:00
Severin Rudie a8c47c8805 For #5334: disable notification for private custom tabs 2019-12-30 11:40:07 +02:00
Sawyer Blatz 9a693f6c11
For #7000: Fix inverted media telemetry (#7368) 2019-12-27 13:46:47 -08:00
Severin Rudie 26b7909214
For #7352: integrate highlightable browser menu changes (#7353)
* For #7352: integrate highlightable browser menu changes

* For 7352: invalidate menu when reader mode availability changes

* For 7352: removed highlight from reader mode appearance per UX
2019-12-27 12:15:21 -08:00
Sawyer Blatz faa4136685 For #7347: Fixes background of search field 2019-12-23 10:07:54 -08:00
Sawyer Blatz 4fd3eb53d1 For #6666: Adds back button to search screen 2019-12-23 10:07:02 -08:00
Suraj Shah 6344a8892d For #7041 - Respect current mode when opening library items (#7311)
* Fixes #7041
Consumes `browserMode` from home activity for tap method of bookmark

* Fixes spaces

* Cleaning tests

* Cleaning tests
2019-12-23 12:26:47 -05:00
Roger Yang dd1433733a
Closes #7156: Update app links feature usage to include app links interceptor (#7275) 2019-12-20 08:27:19 -05:00
Josh 593981fa4b Fix parameterized message in search engine (#7302) 2019-12-20 10:27:05 +02:00
Jeff Boek 740572b6d9 For #5334 - Override custom tab styling in private mode (#7305) 2019-12-19 18:17:52 -08:00
Josh a40af5b134 Closes #7254 - Replace Anko applyConstraintSet (#7286)
* For #7254: Replace anko applyConstraintSet

* Anko has been deprecated and will not be continued

* Refactor ConstraintSet changes

* Replace applyConstraintSet in SearchLayouts

* Refactor HomeFragment ConstraintSet

* Define anonymous ConstraintSet
* Remove ConstraintSet prefix from PARENT_ID
2019-12-19 18:16:50 -08:00
Tiger Oakes b85673acac Clean up settings fragments 2019-12-19 14:29:28 -08:00
Josh Vocal 43354489a1 For #7253 - Replace anko setters 2019-12-19 13:42:50 -08:00
Tiger Oakes 76c83ba805
For #7085 - Remove anko px2dip (#7252) 2019-12-19 00:05:51 -08:00
Tiger Oakes 7c9a5c1f14
For #768 - Add PWA install option to menu (#6882) 2019-12-18 23:59:30 -08:00
mcarare 907d96e39f For #6709, for #6849 Handle default engine deletion and undo operation
Uninstall engine immediately and allow reinstall in onCancel.
Set previous list with default engine in onCancel.
Keep default engine change in operation and remove now unnecessary view refresh.
2019-12-18 23:00:42 -08:00
Tiger Oakes f439c8110e For #7183 - Fix bottom margin in PWAs 2019-12-18 22:57:54 -08:00
Rushab Kumar 562eb89356 For #7250 - Replace anko.dimen 2019-12-18 15:39:14 -08:00
Sebastian Kaspari e789d8ebe3 Issue #4978: Reuse widget package name of Fennec. 2019-12-18 15:23:43 -08:00
Emily Kager 5ac79f59a3 For #7219 - Polish Download Notification Dialog. (#7224)
* For #7219 - Use accent color for downloads dialog positive button

* For #7219 - Fixes gap beneath download notification dialog

* switch to setimageresource
2019-12-18 12:26:41 -05:00
Roger Yang 1a739db5b1 Closes #7260: Pass in GeckoView version information to MozillaSocorroservice 2019-12-18 10:45:57 +01:00
Grisha Kruglov 52334f9121 Closes #6937: Disable runStorageMaintenance during startup
This call will acquire a "write" lock at the storage layer (sqlite's reserved+),
which may interfere with migrations that run during startup as well (they need to
write to storage, and so also need to acquire a lock). If these operations clash,
we get a SQLITE_BUSY crash. For now, just disable the maintenance operation.
2019-12-17 14:24:30 -08:00
Tiger Oakes ea486d7c66
Split out CustomTabToolbarIntegration (#7107) 2019-12-17 12:26:46 -08:00
Suraj Shah 6cb3879caf For #7048: Network info migration (#7091)
* Fixes #7048.
Adds extension function to check if online or not based on capabilities
Modified `buildDeviceList`
Modifies tests

* Fixing lint error for max length
Fixing test in AppRequestInterceptorTest.kt

* Adds suppression for deprecation
Moving away from using anko for ConnectivityManager instance

* Creates ConnectivityManager extension component

* Fixes #7180
Refactors test cases to fix static mocks
2019-12-16 22:03:11 -08:00
David Walsh e727ae5d7e Fix 5366 - Use VectorDrawableCompat for all imagery (#7221)
* Fix 5366 - Use VectorDrawableCompat for all imagery

* Fix detekt lint issues

* Restore previous comment contents
2019-12-16 20:35:36 -08:00
Severin Rudie cd53e9778a For 6795: expands toolbar whenever a new session is selected
This ensures that the bar is expanded when opening a link in a new tab
2019-12-16 14:09:29 -08:00
Jeff Boek 49f07554e7 No Issue - Removes some search engines 2019-12-16 14:09:14 -08:00
mcarare 90c77519a6 For #7194 Set snackbar anchor depending on browser toolbar position 2019-12-16 12:21:54 -08:00
Patrick Martin 71880705df For #5711 - Onboarding colours have contrast issues 2019-12-13 17:52:55 -08:00
Afzal Najam b9656a978e Hide add folder option when in Desktop Bookmarks folder 2019-12-13 17:51:15 -08:00
Ryan Kelly 31f2e80ab0 Use feature-accounts-push, which replaces feature-sendtab. 2019-12-13 16:42:28 -08:00
mcarare bc6b7725e9 For #6968 Close response stream to allow use of caching 2019-12-13 12:35:25 -08:00
mcarare d2abac78eb For #7075 Update passwords preference visibility and string
Set visibility for feature flags before settings screen it's displayed.
Change string for preference to match existing header string.
Update UI Tests
2019-12-13 12:19:14 -08:00
mcarare ef53e1ff8e Reverts #6925: Make home screen full screen 2019-12-13 11:29:53 -08:00
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".
2019-12-13 11:28:57 -08:00
Emily Kager 686facffc6 For #6946 - Get engine margins without assuming top/bottom toolbar 2019-12-13 11:09:30 -08:00
Emily Kager dcb39b0a44 For #7124 - Match toolbar location for ETP/security panel gravity 2019-12-13 11:09:30 -08:00
Vlad Filippov a3f2f55548 Closes #5913: Add new sessionToken scope (#6155) 2019-12-12 12:00:20 -08:00
Tiger Oakes 32985af882 For #6830 - Fix "Open in" text size for custom tab (#7010) 2019-12-12 11:49:54 +02:00
ValentinTimisica b819cb11c9 For #4776: Added Unit tests for About Page. 2019-12-12 11:34:10 +02:00
ValentinTimisica c6c827f693 For #4776: Redesign and refactor the About Page
Added new items to be displayed.
2019-12-12 11:34:10 +02:00
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
2019-12-10 12:10:01 -08:00
Tiger Oakes fe034226a3
For #5783 - Web Share with Fenix share sheet (#6883) 2019-12-10 10:57:06 -08:00
Mihai Adrian 6e9769a81b For #7031 - Hide progress bar when leaving DeleteBrowsingDataFragment (#7056) 2019-12-10 11:17:45 -05:00
Tiger Oakes 3f7205e3cb
Extract IntentProcessorType to its own file and add tests (#7012) 2019-12-10 00:02:23 -08:00
Severin Rudie 7477de83e9 For #4844: fix file prefix url shortening 2019-12-10 05:07:53 +01:00
Severin Rudie 957ed8aa88 For #5334: fix ETP shield coloring on custom private tabs 2019-12-10 03:22:55 +01:00
Mihai Adrian 45ae8cb35a For #6997 Avoid overwriting empty_search_string error (#6998)
Setting error twice also clips error message
2019-12-09 18:10:24 -08:00
Emily Kager 76e9200304 For #6922 - Check current destination is logins fragment before navigation (#6924) 2019-12-09 15:42:40 -08:00
Michael Comella 2a4aa24195 For perf-frontend-issues#33: Clarify VERBOSE logging motivation. 2019-12-09 15:11:52 -08:00
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.
2019-12-09 15:11:52 -08:00
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.
2019-12-09 15:11:52 -08:00
ekager 1647e07481 For #5771 - Don't force landscape mode on fullscreen 2019-12-09 23:47:57 +01:00
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.
2019-12-09 23:45:02 +01:00
mcarare 17731620e6 For #7026 Dispatch ModeChange on hideOnboarding 2019-12-09 23:44:33 +01:00
Grisha Kruglov 42d6915699 Fennec migration: enable logins migration 2019-12-09 13:35:22 -08:00
Jeff Boek 45c6e3a784 For #1607 - Passes "custom" as the search engine identifier for custom engines 2019-12-09 11:47:05 -08:00
Severin Rudie dfea877fb7 No issue: small installedSearchEngineIdentifiers readability refactor 2019-12-09 10:58:19 -08:00
Severin Rudie 2aa80eff95 No issue: tests installedSearchEngineIdentifiers 2019-12-09 10:58:19 -08:00
Severin Rudie d3ff98816d No issue: begin moving FenixSearchEngineProvider into a testing harness 2019-12-09 10:58:19 -08:00
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
2019-12-06 10:57:54 -08:00
kglazko 300d8317e1
Issue 5366 Vector Drawable Compat (#6904) 2019-12-05 19:54:32 -08:00
mcarare 45b9ffd66e For #6917 Emit mode change only when new mode is different from current 2019-12-05 11:10:14 -08:00
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
2019-12-05 09:37:20 -08:00
Mihai Adrian cbdf83c12a For #6943 Hide supportActionBar in onResume, not onCreate (#6978) 2019-12-05 09:36:39 -08:00
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
2019-12-04 22:06:05 -05:00
Jeff Boek d4e3a2037f For #6855 - Filter out duplicated bundled search engines
Co-authored-by: Severin Rudie <Baron-Severin@users.noreply.github.com>
2019-12-04 17:10:02 -08:00
mcarare c3389dcdb5 For #6070 Adds telemetry for enabling search suggestions in private 2019-12-04 16:44:01 -08:00
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>
2019-12-04 16:10:26 -08:00
Jeff Boek eb6e6b774f For #6848 - Sorts the search engine list without case sensitivity
Co-authored-by: Severin Rudie <Baron-Severin@users.noreply.github.com>
2019-12-04 16:10:26 -08:00
Jeff Boek 1cc496a683 For #6847 - Properly rebuilds the SearchEngineList on undo
Co-authored-by: Severin Rudie <Baron-Severin@users.noreply.github.com>
2019-12-04 16:10:26 -08:00
Emily Kager d1b134c2ff For #6908 - Set null anchors for snackbars with top toolbar (#6911) 2019-12-04 15:01:04 -08:00
Jeff Boek e8972bb47d For #6795 - Auto shows toolbar when loading a new URL (#6955)
Co-authored-by: Severin <Baron-Severin@users.noreply.github.com>
2019-12-04 15:00:51 -08:00
ekager 3df32edff0 No issue: Fix search suggestions strings 2019-12-02 21:39:10 +00:00
ekager f227acc9f0 For #6791 - Inflate SavedLoginsListItemViewHolder layout explicitly 2019-12-02 10:40:58 -08:00
ekager d8babadf7f For #6889 - Check current destination before navigating from settings 2019-12-02 10:40:21 -08:00
ekager f5cf0b7e2a For #6890 - Don't crash with no connection when adding custom search engine 2019-12-02 10:37:31 -08:00
Severin Rudie 2a95a82e32
For #5540: updates error page copy when no internet is available (#6803) 2019-12-02 10:26:06 -08:00
cesar 6cda430cdd nested loop removed 2019-12-02 16:18:48 +00:00
cesar 4422e3ed39 Closes #6731 - fixed BookmarkNode minus operator and deleteOperation 2019-12-02 16:18:48 +00:00
mcarare 41ccb02933 For #6516 On browsing mode change empty tab list before displaying new list 2019-12-02 16:15:54 +00:00
Tiger Oakes a16aedb680 For #6827, #6811 - Cast layoutParams to MarginLayoutParams 2019-12-02 14:52:31 +00:00
Tiger Oakes d5e01384d8
Suppress upcoming deprecation (#6765) 2019-11-28 16:17:56 -08:00
Gabriel Luong 85111f538a For #6857 - Replace BackHandler with UserInteractionHandler in InflationAwareFeature and InflationAwareFeatureTest 2019-11-28 15:58:07 -05:00
Jeff Boek 1b1f9348dc No Issue - Fixes warnings / compiler errors with A-C update 2019-11-28 12:45:45 +01:00
mcarare c5f18e0f96 For #6629 Align Private Browsing mode to UX specs 2019-11-27 11:13:20 -08:00
ekager 7cd1d55e00 For #5586 - Track all login copy events 2019-11-27 10:59:36 -08:00
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.
2019-11-27 10:51:57 -08:00
mcarare f69eb83141 For #4219 Set url view not important for accessibility
Talkback rectangle for url view selection will include parent view
2019-11-27 10:11:16 -08:00
mcarare 373bd63c40 For #6470 Remove actions from notification, keep just close private tabs
Removed NotificationsIntentProcessor because notifications no longer open app
Added new strings
2019-11-27 10:08:00 -08:00
Mihai Branescu 7cf71c8ef3
For #6396 - Added metrics for tracking history/bookmarks account sync toggles (#6601) 2019-11-27 11:16:23 +02:00
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
2019-11-27 10:40:38 +02:00
Jeff Boek 5f7b3bd4d7
For #5972 - Fixes bugs when launching in private mode on Android 5 (#6702) 2019-11-26 14:53:03 -08:00
Sawyer Blatz db02fc6ef8
For #6821: Fixes issues with custom tabs and dynamic toolbar (#6822) 2019-11-26 13:02:52 -08:00
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.
2019-11-26 10:07:31 -08:00
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
2019-11-25 16:43:32 -08:00
Tiger Oakes 422faaf7c0 Add toolbar helpers (#6531) 2019-11-25 15:36:47 -05:00
Tiger Oakes 7e8f079269
Use ShareData with ShareFragment (#6698) 2019-11-25 11:07:21 -08:00
Christian Sadilek 8271f0f55a Fix for A-C 23.0.0: onDownloadCompleted renamed to onDownloadStopped 2019-11-23 20:25:21 -05:00
Tiger Oakes cd3e077bc9 For #6763 - Fix early view access 2019-11-23 10:55:29 -05:00
Daphne Liu 4cfbaf2dc4 Switched to AC string extensions (#6258)
* Switched to AC string extensions

* Clean up imports
2019-11-22 23:15:51 -08:00
ekager 45071d6fc1 For #6573 - Fixes anchor view for tab switching snackbar 2019-11-22 14:15:17 -08:00
Sawyer Blatz bcf80d0e0b
For #6436: Adds snackbar for failed download (#6648) 2019-11-22 12:46:57 -08:00
Tiger Oakes a5e9439c6e Clean up tracking protection fragment (#6532)
* Clean up exceptions fragment

* Clean up tracking protection fragment

* Move saved logins to list adapter
2019-11-22 10:38:13 -05:00
Sebastian Kaspari 8a330d413c Closes #4982: Migrate Gecko files before initializing engine. (#6738) 2019-11-22 08:18:50 -05:00
Stephen Tsimicalis 9869408fb4 For #4824 - Fixes onboarding telemetry events from being sent a… (#6659) 2019-11-21 17:51:55 -08:00
Mihai Adrian e07d09afb8 Update app/src/main/java/org/mozilla/fenix/home/HomeMenu.kt
Co-Authored-By: Tiger Oakes <contact@tigeroakes.com>
2019-11-21 15:34:01 -08:00
mcarare 9258df2c69 For #3523 Add Firefox Sync error states also to Settings in Home menu 2019-11-21 15:34:01 -08:00
matthewcmckenna afac413c98 Add ETP accessibility labels 2019-11-21 15:27:35 -08:00
Tiger Oakes 0a86676563 For #6523 - Remove close button in library 2019-11-21 15:27:18 -08:00
mcarare 1d36098878 For #1019 Add onboarding search suggestion hint panel 2019-11-21 14:36:14 -08:00
mcarare 5543f3272d For #1019 Add option to enable search suggestions in private mode 2019-11-21 14:36:14 -08:00
mcarare ef3c3de8a1 For #6625 Fix back navigation in search mode from browser 2019-11-21 14:35:12 -08:00
Tiger Oakes bd475d54e5 Extract TP onboarding popup (#6700) 2019-11-21 17:23:35 -05:00
Grisha Kruglov f099552ae3 Enable encryption of persisted FxA account state 2019-11-20 15:32:56 -08:00
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
2019-11-20 10:32:38 -08:00
ekager 81ab082c1c For #6707 #6708 - Fix UI Tests for new Search Engine Behavior 2019-11-20 10:23:48 -08:00
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
2019-11-19 16:30:56 -08:00
mawen7 1e813a9609 Jump to tab overview if closed tab has no parent session 2019-11-18 22:56:42 -08:00
cesar 560fa7a5b5 For #6594 - Trigger keyboard automatically when creating a bookmark folder 2019-11-18 20:07:22 -08:00
cesar 063115b215 For #6593 - Hide keyboard when quitting add bookmark folder flow 2019-11-18 20:07:22 -08:00
ekager ab93779369 For #6621 - Add Secure Flag to Window in Logins Fragments 2019-11-18 14:32:10 -08:00
David Walsh c69e72bdba Fix 3809 - Show entire URL in security info view 2019-11-18 14:01:40 -08:00
Sawyer Blatz 6f4de48428 For #6434: Fixes downloadCompleted for paused downloads 2019-11-18 11:49:01 -08:00
Roger Yang f3fc532e0e Closes #6440 Integrate Web Notifications Feature 2019-11-18 13:44:39 -05:00
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.
2019-11-15 15:48:48 -08:00
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
2019-11-15 14:25:50 -08:00
Gabriel Luong c6562bff98 For #5583 - Adds telemetry for download notification (#6554) 2019-11-15 16:50:11 -05:00
Patrick Martin 5eb5cdf361 For #1695 - Detect HTML mime type for clipboard URL (#6612)
* For #1695 - Detect HTML mime type for clipboard URL
2019-11-15 12:23:52 -08:00
MozLando 204ead0827 Merge #6513
6513: For #5295 [A11y] Unable to tap snackbar r=kglazko a=kglazko



Co-authored-by: Kate Glazko <katglazko@gmail.com>
2019-11-15 18:43:54 +00:00
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.
2019-11-15 10:38:08 -05:00
Emily Kager ddd484387d No issue: Check destination before popping logins fragments 2019-11-14 18:20:44 -08:00
Tiger Oakes fdd7400ccc Use ViewModel for share fragment 2019-11-14 16:25:50 -08:00
Tiger Oakes 333ff8c941 Fixes #4528 - Prevent share menu from jumping
Plus a bunch of docs and refactoring
2019-11-14 16:25:50 -08:00
ekager d85ed27a3d Add override for Core val in test 2019-11-14 16:05:20 -08:00
Emily Kager c43f96096e For #5074 - Sync Logins, Uses KeySharedPreferences for Passwords Encryption Key 2019-11-14 16:05:20 -08:00
Kate Glazko e038e0c41d 2019-11-14 13:54:08 -08:00
Tiger Oakes ee4e1c8f39
Fixes #5085 - Use CustomTabWindowFeature (#6603)
Opens _blank links in new custom tab
2019-11-14 12:02:27 -08:00
Gabriel ebdfe8184e For #5705 - Adds telemetry for media state (#6463) 2019-11-12 17:24:30 -08:00
David Walsh 9d5c03c067 Use consistent verbiage with regard to opened tabs (#6550) 2019-11-12 16:06:37 -08:00
Emily Kager cc318021cc For #5586 - Adds Logins Telemetry (#6352)
* For #5586 - Adds Logins Telemetry

* Adds Logins Sync Telemetry to PreferenceToggled event
2019-11-12 15:55:36 -08:00
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
2019-11-12 08:21:53 -08:00
Arturo Mejia 0275ca0693 No issue: Do not prevent trackers duplication in the tracking
protection panel.
2019-11-12 08:15:30 -08:00
mcarare 13637c59a2 For #6543 Hide keyboard when saving a new bookmarks folder 2019-11-12 08:09:55 -08:00
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
2019-11-11 17:10:14 -08:00
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.
2019-11-11 14:36:55 -08:00
Sawyer Blatz d6aeeb2dec
For #5958: Adds in app download notifications (#6506) 2019-11-11 14:08:51 -08:00
Mihai Adrian 1388156953 For #1211 Hide the keyboard when scrolling through engine suggestions (#6474) 2019-11-08 14:36:39 -08:00
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 !!
2019-11-08 13:37:36 -08:00
Emily Kager d9615108ee For #6354 - Removes ETP Experiment, Removes Feature Flags, Sets Strict Default 2019-11-08 08:37:15 -08:00
mcarare 1ff5a1934e For #5709 Do not animate switch for ETP panel 2019-11-08 08:36:30 -08:00
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.
2019-11-07 16:00:48 -08:00
Grisha Kruglov 40047315c2 For #6490 - track abnormal FxA behaviour via Sentry 2019-11-07 15:11:41 -08:00
Emily Kager ef7a23c875 Adds webAppShortcutManager argument 2019-11-07 14:50:24 -08:00
Tiger Oakes afda836f1f Use ManifestUpdateFeature 2019-11-07 14:50:24 -08:00
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.
2019-11-07 13:45:41 -08:00
Emily Kager 3e2b88cc91 For #5547 - Add top level auth when accessing passwords 2019-11-07 13:45:41 -08:00
Sawyer Blatz 284f3cf0f5 For #4456: Updates total_uri_count upload (#6482) 2019-11-06 19:10:56 -08:00
Sawyer Blatz a4ad2116ae
For #6390: Fixes textColor on download prompt (#6468) 2019-11-06 11:10:17 -08:00
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
2019-11-06 11:08:41 -08:00
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
2019-11-06 11:08:41 -08:00
ekager 18c0525ff6 Use new API for ETP Exceptions 2019-11-05 12:45:58 -08:00
Emily Kager ca8ba57635 For #6441: Fix variant build type matching (#6462) 2019-11-05 12:28:14 -08:00
Emily Kager 1ee0703bc3 For #6441 - Only enable experiments for Beta/Prod 2019-11-04 16:45:35 -08:00
Christian Sadilek a7e139da8e Use new WindowFeature API after browser-state migration 2019-11-01 15:52:37 -04:00
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".
2019-10-31 17:08:40 -07:00
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.
2019-10-31 17:08:40 -07:00
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.
2019-10-31 17:08:40 -07:00
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.
2019-10-31 17:08:40 -07:00
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.
2019-10-31 16:53:00 -07:00
Tiger Oakes 9456998f9f For #6153 - Add powered by notification 2019-10-31 16:39:58 -07:00
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.
2019-10-31 16:22:14 -07:00
mcarare 349c0193d9 For #6342 Clicking add tab button from home screen finishes onboarding 2019-10-31 16:04:02 -07:00
Sawyer Blatz e62407e766
For #5959 & #5958: Integrates download feature into Fenix (#6368) 2019-10-31 14:37:05 -07:00
mcarare 41c9b9e958 For #1487 Add "my library" menu category and items to home 3-dot menu 2019-10-31 11:29:49 -07:00
Artur Dryomov 05e871dd0c No issue: Refactor errors to risk level conversion. (#5710) 2019-10-30 11:08:45 -07:00
Sawyer Blatz 8549b80272 For #4456: Adds total_uri_count to metrics core ping (#6003) 2019-10-30 11:02:33 -07:00
Sawyer Blatz fd22c43f9d
Fixes #6344: Adds null check for adjust campaign (#6348) 2019-10-30 10:13:03 -07:00
Chenxia Liu 41ee8a4efb For #6294 - When only one tab is being saved to collection, add it to selected tabs. 2019-10-29 11:27:51 -07:00
Sawyer Blatz 2a358db561
For #1298: Fixes issue with Adjust campaign not sending through Glean (#5896) 2019-10-29 10:09:07 -07:00
Christian Sadilek ee3871cd7c Closes #5678: Selected session may render in ExternalAppBrowserActivity 2019-10-28 09:43:33 -07:00
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)
2019-10-25 21:41:48 -07:00
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()
2019-10-25 21:41:31 -07:00
ekager fb17ae2258 For #6229 - Remove all tab options from custom tab context menu 2019-10-25 13:25:31 -07:00
Emily Kager 6435a503ca For #6219 - Reset default setting if user opts out of experiments 2019-10-25 12:50:16 -07:00