Commit Graph

356 Commits

Author SHA1 Message Date
Jonathan Almeida
ffd4cdd970 For #7661: Add variant-specific schemas for deep links
In order to target specific variants of Fenix, we're adding schemas that
are specific that app in order to avoid collisions with the other
variants and with other forks of fenix that may have the same schemas.

The current schema for variants:
 - Fenix Nightly: `fenix-nightly://`
 - Fenix Beta: `fenix-beta://`
 - Everything else: `fenix://`
2020-03-17 17:21:09 -04:00
Sebastian Kaspari
34144fd254 Use pinned Android Components Nightly version instead of snapshots. 2020-03-17 12:09:36 +01:00
mcarare
320fc4e4ae For #8788 Use Flexbox instead of Grid manager for top sites 2020-03-09 11:01:14 -07:00
Michael Droettboom
bb2c009c16 1592947: Use the Glean Gradle plugin 2020-02-28 13:24:58 -08:00
Grisha Kruglov
fddf77280c Remove direct A-S dependency; switch to using 'full' megazord
As far as I can tell, we never actually exercise the a-s libraries in Fenix tests currently (this was one of the presumed reasons for having a direct dependency).
In a different branch I've started work on adding end-to-end tests, but currently that's blocked on trying to figure out to load native libraries in tests (somehow, fenix's setup is different than what we have in A-C, not yet clear to me in what way).

Another reason for a direct dependency (i think) is that we needed it to configure a `fenix` megazord. This could be solved via a `support-megazord-fenix` a-c component that provides the correct transient dependencies,
but we can also just switch to use the `full` megazord instead, which is essentially what fenix megazord is at this point. A-S team wants to remove the fenix megazord, so this will help. This is what this patch does.
2020-02-25 17:30:57 -08:00
Mihai Branescu
fdbf63fb97 For #4231
Added kapt plugin + dependencies in order to be able to use Room
Added recent apps to share fragment (top 6)
Extracted dimens of share_to_apps.xml in the dimens file
2020-02-19 10:36:58 -08:00
Jeff Boek
a8746320d7 For #3869 - Uses RegionSearchLocalizationProvider in the search engine provider 2020-02-18 10:10:16 -08:00
Aaron Train
bf7b23ab99
Closes #8316: Disable animations for instrumented tests (#8317) 2020-02-11 15:24:10 -05:00
Alessio Placitelli
99d6dbfca4 Test that 'baseline' pings are sent by Fenix
This is an initial instrumented test for Fenix
that checks if a 'baseline' ping is generated when
going to background.
2020-02-05 19:06:46 +01:00
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>
2020-02-04 01:41:51 -05:00
Jonathan Almeida
cbcc56bbba For #373: Implement LeanPlum push messaging
Also closes #6250, since we rely solely on the SDK itself to consume the
messages straight from FCM.
2020-02-04 00:13:56 +01:00
Gabriel Luong
584b270aa4 For #6758 - Part 2: Add AC dependencies for top sites feature 2020-01-24 15:18:25 -08:00
Jonathan Almeida
b89afe7b7c For #7092: Add initial Migration UI 2020-01-15 21:41:01 -08:00
Colin Lee
7baf54f566
For #5182: Loading experiments on startup is slow, remove Fretboard (#7510)
This removes Fretboard. The goal is to reduce cold startup costs associated with loading the experiments on the main thread. We currently have two experiments frameworks in use and should only require one.
2020-01-13 12:38:32 -06:00
Michael Comella
c0f689a68d No issue: remove lint baseline file.
This will enable folks to see the existing warnings.
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
Michael Comella
93e677e11b No issue: remove unused Anko dependencies. 2019-12-31 10:46:39 -05:00
Kadeem M
e22d092f5d Added UI tests for the About Settings page (#6161) 2019-12-27 07:55:35 -08:00
Ryan Kelly
31f2e80ab0 Use feature-accounts-push, which replaces feature-sendtab. 2019-12-13 16:42:28 -08:00
Colin Lee
a8f895cb5c
For #4064: Replace prerelease R8 with improved Kotlin coroutines library (#7153) 2019-12-13 13:29:27 -06:00
isabelrios
1d04736884 Re-enable Screenshots tests (#6617)
disabling setting test options due to different screen sizes

name screenshots according to robots

fix kotlin style

update settings tests with new Toolbar option

screenshots tests in different package than ui tests
2019-12-10 13:05:47 +02: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
mawen7
7208ce95a5 Run lint for app module and set baseline 2019-12-02 14:45:34 -08:00
Sebastian Kaspari
bb59ac6423 Issue #6622, #6688: Create a "fennecBeta" and "fennecNightly" build types. 2019-11-27 10:28:22 -08:00
Johan Lorenzo
de8bc2f8a5 Split UI test 2019-11-21 11:59:51 +01: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
Roger Yang
f3fc532e0e Closes #6440 Integrate Web Notifications Feature 2019-11-18 13:44:39 -05:00
Tiger Oakes
fdd7400ccc Use ViewModel for share fragment 2019-11-14 16:25:50 -08:00
Emily Kager
c43f96096e For #5074 - Sync Logins, Uses KeySharedPreferences for Passwords Encryption Key 2019-11-14 16:05:20 -08:00
Emily Kager
3e2b88cc91 For #5547 - Add top level auth when accessing passwords 2019-11-07 13:45:41 -08:00
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.
2019-10-25 10:24:40 -04:00
Denys M
6290c0c826 Closes #2441. Update LeakCanary to 2.0-beta-3 version. 2019-10-24 11:19:09 -07:00
ekager
f49331de55 For #5544: Bare Minimum Logins UI 2019-10-24 10:29:03 -07:00
Alessio Placitelli
47dfcc119e Pick up forUnitTest library for the Glean SDK test 2019-10-24 08:57:30 -07:00
Grisha Kruglov
9ffff79a88 Perform Fennec data migration within fennecProduction 2019-10-22 16:04:08 -04:00
Mitchell Hentges
5ce1968d67 Removes versionName check from gradle (#5934) 2019-10-21 10:03:21 -07:00
MozLando
fba375135f Merge #5933
5933: Removes legacy nightly automation r=johanlorenzo a=mitchhentges



Co-authored-by: Mitchell Hentges <mhentges@mozilla.com>
2019-10-11 18:28:31 +00:00
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>
2019-10-11 14:43:39 +00:00
Mitchell Hentges
a497d2bcd0
Removes legacy nightly automation 2019-10-10 11:13:23 -07:00
Jeff Boek
ed239ec250 For #373 - Integrate leanplum-fcm 2019-10-09 14:43:48 -07:00
Isabel Rios
44f4cedefd Add fxa/sync integration tests
fixing Jenkins path to tests and clean tests

commenting future tests and adding doc with info about the tests
2019-10-08 09:56:29 +02:00
Grisha Kruglov
ea3cd46133 Closes #1022: Auto-publication workflow for android-component
This patch enabled support for an auto-publication workflow for android-components.

It automates a common pattern seen in local development:

Old way:
- after every change in a-c, publish it locally with a unique version (bumping it manually)
- manually modify Fenix to consume a custom version of a-c from a mavenLocal repository

New way:
- set a flag in fenix's local.properties to enable auto-publication
- run Fenix builds after making changes to a-c. Changes in a-c will be automatically picked up.

Note that no changes are necessary to any Fenix files other than a single flag in local.properties.
Manually bumping android-components version is also not necessary.
2019-10-07 14:13:33 -07:00
Colin Lee
b7647a454f
For #5599: Remove dependency on fetch_httpurlconnection (#5716)
* For #5599: Remove dependency on fetch_httpurlconnection

* For #5599: Switch Glean to GeckoViewFetchClient

* Use existing Gecko client for Glean
2019-10-04 12:28:23 -05:00
Alessio Placitelli
ebd11dbca8 Add the workmanager dependency to enable testing with Glean 2019-09-24 12:33:14 -07:00
Johan Lorenzo
7d3be2a509 taskgraph: Speed up gradle calls 2019-09-24 11:05:22 -07:00
Dennis Schubert
5577470d0b No bug - Add WebCompat feature. 2019-09-20 08:33:48 -07:00
Sawyer Blatz
13146c2b2a Reverts #1151: Removes unused Flipper library 2019-09-20 08:05:14 -07:00
Jonathan Almeida
fe8a8bfb0a No issue: Add Digital Asset Links token for TWAs 2019-09-18 20:19:47 -07:00
Alessio Placitelli
3fda14015c Automatically generate metrics docs using the Glean SDK (#5101) 2019-09-12 14:49:49 -07:00
Sebastian Kaspari
d3679e0625 Unbreak Nightly: Get rid of fragment-testing dependency and create fragments in test manually. 2019-09-12 13:44:17 +02:00
Aaron Train
9033b8d676
Closes #5217 - fix androidx.test dep error (#5219)
See #5217
2019-09-11 12:55:22 -04:00
Emily Kager
4485b7f647 Add Tracking Protection Info Panel 2019-09-11 07:47:13 -07:00
mihai-adrian
9e83edcac5 For #4877: Restored logic for closing tabs when not on browserFragment
Added base test for CreateCollectionFragment that we can build upon later
2019-09-10 21:42:16 -07:00
Colin Lee
2b9efccfca For #3106: Granular options for clearing user data 2019-09-09 12:32:28 -07:00
Sebastian Kaspari
c2db07acf8 Add browser-state component. 2019-09-05 13:38:15 +02:00
Petru Lingurar
f7087e46e3 Fix #5067 - Refactor ShareController to use SendTabUseCases
Navigation between app fragments uses ShareTab as arguments. The newly used
SendTabUseCases uses TabData which is not Parcelable.
For minimal changes we'll keep both data classes and ShareController will know
how to map between the two.
Removed the `sessionId` property of ShareTab as it isn't needed anymore.
2019-09-03 12:01:26 -07:00
Sebastian Kaspari
389b85f783 Issue #4907: Link to usage of sharedUserId in Fennec code. 2019-09-03 17:10:06 +02:00
Sebastian Kaspari
3fb22a12b6 Issue #4873: Use manifest placeholder to inject sharedUserId. 2019-09-03 17:10:06 +02:00
Sebastian Kaspari
10143858cb Issue #4873: Use Fennec version code mechanism for fennecProduction build type. 2019-09-03 17:10:06 +02:00
Sebastian Kaspari
00ead7e31f Issue #4873: Only build fennecProduction build types with GeckoView Beta. 2019-09-03 17:10:06 +02:00
Sebastian Kaspari
4f51af07ae Issue #4873: Reuse Firefox application id for fennecProduction build type. 2019-09-03 17:10:06 +02:00
Sebastian Kaspari
c7216d1bd7 Issue #4873: Introduce "fennecProduction" build type. 2019-09-03 17:10:06 +02:00
Tiger Oakes
f740d4382a Closes #773 - Add shortcuts to homescreen (#4925) 2019-08-29 14:45:11 -05:00
Colin Lee
153af588af For #4885: D8 Build failure on attempt to execute UI test (#4903)
* For #4885: D8 Build failure on attempt to execute UI test

* Disabled screengrab tests until AndroidX fix is available
2019-08-23 13:37:52 -07:00
Sebastian Kaspari
35ff0a5110 Use version name/code override. (#4895) 2019-08-23 07:08:37 -05:00
Nick Alexander
23b9a41059 Consume new substitute-local-geckoview.gradle script from Bug 1533465. 2019-08-21 19:52:01 +02:00
Mitchell Hentges
6c020a0bc4 Configure either geckoview beta or nightly at compile-time (#4851)
* Remove "abi" product flavor and introduce "engine" product flavor.

This patch will allow us to build Fenix against GeckoView Nightly and GeckoView Beta by
introducing a new flavor dimension: engine = [geckoNightly, geckoBeta].

In addition to that it adds a "fenix"  prefix to the nightly, beta and production flavors
to reduce the ambiguity between fenix beta/nightly and GeckoView beta/nightly.

For now the build types have the following engine variants enabled:

**debug**: geckoNightly, geckoBeta
Both variants enabled for local development and testing.

**forPerformanceTest**: geckoNightly, geckoBeta
Both variants enabled unless the perf team only cares about Nightly (tbd)

**fenixNightlyLegacy**: geckoBeta
Uses GeckoView Beta for now - the same version we ship production builds with (same behavior
as before). This release type will eventualyl be decommissioned once we switch to a separate
Nightly app on Google Play.

**fenixNightly**: geckoBeta
Uses GeckoView Beta for now - the same version we ship production builds with (same behavior
as before). Changing this build to use GeckoView Nightly is currently being discussed.

**fenixBeta**: geckoBeta
Fenix Beta uses GeckoView Beta.

**fenixProduction**
Fenix Production uses GeckoView Beta (69) currently.

* gradle.py/variant.py: Replace "abi" with "engine".

* Disable enableUnitTestBinaryResources until we can switch to Android Gradle plugin 3.5.

* Fenix nightly should use both geckoview nightly and beta

* Updates automation to use apk splitting and support different engine
2019-08-21 08:32:01 -07:00
Sebastian Kaspari
b733fcdbd5 Closes #4719: Get rid of fragment-testing dependency and create fragments in StoreProviderTest manually. (#4722) 2019-08-14 09:10:24 -05:00
Colin Lee
e6f9445d11
For #4709: Fix Bugzilla issue 1573549 (#4710) 2019-08-13 22:16:23 -05:00
Colin Lee
7f07eabbd8
For #4652: Crash "Can not perform this action after onSaveInstanceState" (#4654) 2019-08-09 14:46:40 -05:00
Jonathan Almeida
353ecab44e No issue: Disable failing ActivationPingTest 2019-08-09 15:22:38 -04:00
Colin Lee
71c48692da
For #4507 Enable codecov (#4520) 2019-08-08 19:09:54 -05:00
Emily Kager
e1f0c9f48b No issue: Update testing dependencies 2019-08-08 11:37:16 -07:00
Emily Kager
c21c91eac5 No issue: Update testing dependencies and deprecated method (#4608) 2019-08-08 09:03:39 -07:00
Colin Lee
a514cb3f8c No issue: Add OSS licenses link to About page 2019-08-07 12:40:10 -07:00
Travis Long
51218bc93e Integrate service-experiments component (#4098) 2019-08-05 11:14:42 -05:00
Thom Chiovoloni
a1adb2e57f Update fenix for new megazord setup 2019-08-01 13:10:20 -07:00
Sebastian Kaspari
d1d91e9e6a Switch to GeckoView 69 Beta. 2019-07-30 18:53:27 +02:00
Sawyer Blatz
e6487ba609
No issue: Add more useful test output to TaskCluster (#4165) 2019-07-26 08:56:13 -07:00
Richard Pappalardo
b39afe1548
Add taskcluster job for UI tests (#4088) 2019-07-26 08:08:01 -07:00
Colin Lee
3dc20543e3
For #4128: Migrate Bookmarks to LibState (#4254) 2019-07-25 21:55:51 -05:00
Michael Droettboom
ce19709eae 1567988: Reduce likelihood of invalid URL loading Glean build script 2019-07-23 11:21:19 +02:00
Tiger Oakes
8ebd7cd744 Update to use Mozilla Android Components 5.0.0 2019-07-19 16:41:38 -04:00
Sawyer Blatz
b70719bd00
Fixes #2464: Remove Glide dependency (#4169) 2019-07-19 11:06:49 -07:00
Jonathan Almeida
d298b5f2f5 Closes #4075: Add Feature Flag class (#4077) 2019-07-18 17:20:12 -07:00
Johan Lorenzo
7f8cf79241
Use Raptor release now that GV release is used (#4070) 2019-07-18 16:47:18 +02:00
Sebastian Kaspari
110dd732e2 Use Mozilla Android Components 4.0.0. 2019-07-16 18:35:35 +02:00
Jonathan Almeida
5792acf442 No issue: Enable send tab in nightly legacy 2019-07-16 08:54:45 -04:00
Jonathan Almeida
cf9ae87d50 For #3015: Add push support for send tab 2019-07-15 16:38:49 -04:00
Sebastian Kaspari
abc4e93cc3 After mege day: Switch from GV 68 beta to GV 68 release. 2019-07-15 16:29:41 +02:00
Grisha Kruglov
fe51bbcf7b Update FxA integration to new APIs 2019-07-11 13:19:37 +02:00
Colin Lee
747e83da91
Closes #2683. Update Gradle to 5.5 (#3929)
* Closes #2683. Update Gradle to `5.4.1`

* Upgrade to Gradle 5.5
2019-07-08 11:14:13 -05:00
kglazko
166218f74a Adding l10n screenshot tests for Fenix (#3562)
* Adding l10n screenshot tests for Fenix

* fixing comments

* fix klint and detekt error and adding all tests

* better test name and doc added explaining tests
2019-07-08 11:00:29 -05:00
Richard Pappalardo
e7d0bfe581
Update HomeScreenTest (#3882) 2019-07-05 10:38:09 -07:00
Mitchell Hentges
aebcc92080
Re-enables pushing nightly to org.mozilla.fenix (#3823)
* Re-enables pushing nightly to org.mozilla.fenix

* Publishes org.mozilla.fenix.nightly releases on internal track
2019-07-02 11:34:04 -07:00
Mitchell Hentges
e5f47a8210 Nightly package name should be "org.mozilla.fenix.nightly" (#3771) 2019-06-28 18:56:55 -05:00
Tiger Oakes
d01bb8c442 Use lifecycleScope for collections fragments 2019-06-25 13:56:15 -07:00
Denys M
6d6b240e48 Add unit tests for Settings.
Add unit tests for `Settings`.
2019-06-24 16:02:34 -07:00
Tiger Oakes
ab6101b0f4 Fixes #3539 - vectordrawablecompat for gradients (#3541) 2019-06-18 16:38:56 -07:00
Grisha Kruglov
521312c6f8 Disable send tab for non-nightly, non-debug builds (#3542)
* Put deviceCapabilities list behind a SEND_TAB_ENABLED flag

* Disable SEND_TAB for non-debug, non-nightly builds
2019-06-18 16:37:50 -07:00
Colin Lee
e7576b2831
For i18n testing: Enable pseudolocales (#3391) 2019-06-14 13:44:36 -05:00
Johan Lorenzo
2f8dc488bc Let raptor use the geckoview builds 2019-06-14 14:59:42 +02:00
Jonathan Almeida
8e3aeb1545 No issue: Enable send tab for all builds 2019-06-11 18:02:39 -04:00
Thom Chiovoloni
4d82c29743 Don't substitute application-services packages which are not part of the megazord 2019-06-10 15:24:27 -07:00
Denys M
c9570fd6ff Use Drawable.toBitmap() from androidx-ktx. (#3286) 2019-06-10 08:50:37 -04:00
Emily Kager
883afe9bd4 No issue: Update dependencies 2019-06-05 16:30:01 -07:00
Mitchell Hentges
e0fa11a276 Adds IDE documentation for gradle versionName error 2019-06-05 15:15:03 -04:00
Sebastian Kaspari
b2d81aba43 Issue #2381: Add feature-media component and enable notification for recording devices. 2019-06-05 20:20:44 +02:00
Colin Lee
426582c303
For #3129: Add a production build type to Fenix (#3149) 2019-06-05 10:48:10 -05:00
Tiger Oakes
94c4013810 Closes #3091 - Hide Pull to Refresh under flag (#3092)
This was merged in after feature freeze so we're pulling it out for
now. Pull to refresh will continue to work in debug mode so that the
design can be iterated on easily.
2019-06-03 14:10:53 -05:00
Mitchell Hentges
62473e5e86
Migrates "raptor" build type to work for chrome-perf-testing, too (#2926) 2019-06-03 16:32:38 +02:00
James Hugman
060cd646c8 Fixes #1570 - Enable app-links feature 2019-05-31 10:39:47 -07:00
Colin Lee
6e501c33c0
Update flipper to make LeakCanary traces appear (#2971) 2019-05-29 11:17:56 -05:00
Stefan Arentz
ff5eca1537 Fixes #445 - Ship Fenix x86_64 builds (#2856) 2019-05-29 09:19:17 -04:00
Mitchell Hentges
77ff164e30
Passes variants without parsing (#2408) 2019-05-27 15:00:44 +02:00
Emily Kager
beb2dec79f For #2780 - Fix home screen attributes for API 21-22 (#2844) 2019-05-24 14:03:59 -07:00
Jonathan Almeida
8fbbcceb21 Adds send tab functionality to UI (#2790)
* Closes #2782: Hide send tab when no devices available

* For #2752: Enabled send tab for debug and nightly builds

* For #2753: Add Send Tab functionality to UI
2019-05-23 18:38:03 -04:00
Jonathan Almeida
eb7646f073 Add custom share sheet and send tab support (#2757)
* Closes #2751: Add custom app share sheet

* Closes #2753: Add send tab devices to share sheet

* Closes #2752: Add build flag for send tab

* Replace Context.share with ShareFragment
2019-05-23 10:48:22 -07:00
Ryan Kelly
17f8e236aa Closes #2555: Remove appservices gradle plugin, perform megazord substitution by hand. 2019-05-23 08:23:17 -07:00
Sebastian Kaspari
c3ff7a1aba Switch to browser-engine-gecko-beta (GeckoView 68.0). 2019-05-22 11:14:02 -07:00
Sawyer Blatz
f73bb22955 No issue: Removes usage of COLLECTIONS_ENABLED flag 2019-05-21 10:34:30 -07:00
Sebastian Kaspari
6942767dfe Remove feature-session-bundling component. 2019-05-16 22:23:23 -07:00
Sawyer Blatz
72d29c2a43
For #2205 & #1578: Integrates tab collection storage (#2478)
* For #2205: Adds TabCollectionStorage

* For #1578: Adds delete to TabCollection
2019-05-16 14:02:24 -07:00
Colin Lee
ccbc14a71f For #1994: Re-architect state handling code (#2382) 2019-05-09 23:06:12 +00:00
Jeff Boek
27d8c09def
Fixes #1735 - adds the ability to write code against the build channel (#2388) 2019-05-09 22:05:49 +00:00
Emily Kager
60fe8de3ec No issue: Update constraintlayout and androidx dependencies (#2396) 2019-05-09 16:19:44 -05:00
Colin Lee
78f8354fbb Fix build breakage over FragmentScenario integration 2019-05-08 10:27:24 -05:00
Colin Lee
96b68948b5
For #1710: Create scaffolding for Robolectric tests (#2282) 2019-05-07 16:36:37 -05:00
Mitchell Hentges
282ad31345
Updates Fenix taskcluster tasks to support beta release (#1893)
* Updates Fenix taskcluster tasks to support beta release

* Throw error if -PversionName isn't set for release builds

* Uses beta secrets for beta

* Improves nightly and beta treeherder symbols
2019-05-06 19:09:29 +02:00
Christian Sadilek
9b0422b062 Issue #910: Integrate feature-readerview component (#2269)
Closes #908, Closes #910, Closes #911, Closes #912

Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
2019-05-03 21:01:45 +00:00
Alessio Placitelli
0d82431195 Generate the activation ping and send it with Glean (#1707)
This fetches the Google Advertising ID, salts it and
then applies hashing before sending a ping with it,
at startup. Hashing and salting are used in order
to prevent ourselves to correlate advertising IDs
from the same user running different products we
own off a single device. We will never send the
client_id and the Google Advertising ID in the same
ping.
2019-05-03 09:40:21 -05:00
Mitchell Hentges
9a2cf4339b Fixes #1566, #2076 (#2194) 2019-05-02 14:08:31 +00:00
Emily Kager
4da5a26536 Closes #2000 - Don't flash LeakCanary setting in release builds (#2006) 2019-04-25 07:42:00 -07:00
Johan Lorenzo
194aa0cbb0 Enable raptor tests on Fenix 2019-04-24 09:35:23 -04:00
Grisha Kruglov
f560ec8e8d Closes #1902: Remove direct appservices dependencies
Our main dependency - android-components - is tightly integrated
against a certain version of appservices. Having a direct dependency
at the Fenix level is a foot-gun: it allows Fenix to consume an API-incompatible
version of appservices, breaking parts of android-components. Due to
how gradle dependency resolution works, this breakage is "silent": there are
no compile time warnings. A recent example of this is broken history sync,
and buggy FxA experience in Fenix.

This patch removes a direct dependency, letting android-components dictate
which appservices version should be used Fenix builds.
2019-04-23 17:41:07 -05:00
Mitchell Hentges
92b6d4a925 Moves release flavour to build type (#1693) 2019-04-22 11:02:39 -07:00
Jeff Boek
f19a773ab9
Merge pull request #1842 from boek/i1840-collections_featureflag
For #1840 - Adds a save tab group button and puts it behind a feature  flag
2019-04-20 14:15:18 -07:00
Colin Lee
d1fd5ec879 For #113: QR Scan 2019-04-19 14:47:53 -07:00
Kevin Brosnan
493bab42a4 UI tests for the home screen 2019-04-16 13:38:06 -07:00
Colin Lee
4c43ff09a8 For #1139: Cold start has Dispatchers.Main 1/5th second delay 2019-04-11 14:24:18 -05:00
Colin Lee
b54d4d1d58 Closes #1312, #1236, #1237, #1238, #1239: Creating, Editing, and Deleting Bookmarks and Bookmark Folders 2019-04-08 14:48:36 -05:00
ekager
568edda8bc Update RecyclerView to 1.1.0-alpha04 2019-04-06 19:53:01 -07:00
Jonathan Almeida
f00e388dd4 Update GV architectures to nightly 2019-04-04 19:33:37 -07:00
Emily Kager
c0a1d36b50 No issue: Remove conflicting appcompat dependency 2019-04-04 06:04:19 +09:00
Sebastian Kaspari
15888eb106 Build against GeckoView 68.0 (browser-engine-gecko-nightly). 2019-04-03 11:09:34 -05:00
Christian Sadilek
a17b5b86c2 Closes #1329: Raptor performance tests can no longer be executed 2019-04-02 19:18:45 -07:00
Sebastian Kaspari
8fa9467290 Gradle: Ignore non-greenfield build variants. 2019-04-02 13:49:48 -05:00
Johan Lorenzo
7f772404ce Run build and tests on PRs and pushes 2019-04-02 13:36:35 +02:00
Colin Lee
bd81e72239 Fixes #916, fixes #917, fixes #920: Save, share, and delete bookmarks 2019-04-01 16:16:08 -05:00
Christian Sadilek
6491adf029 For #423: Add release build type for raptor perf. testing 2019-03-29 10:20:02 -07:00
Jeff Boek
379875a62a Fixes #1162 - replaces about page with an Android Fragment 2019-03-27 10:46:19 -07:00
Colin Lee
0acf8698ef Closes #1151: As a developer, Flipper integration might help me with debugging 2019-03-22 17:12:53 -05:00
Sebastian Kaspari
4d20f99082 Issue #1077: Switch to GeckoView Beta (67.0). 2019-03-22 11:18:06 -05:00
Colin Lee
72b9d4ebdb No issue: Upgrade to stable Navigation library and ignore ktlint issues in generated code 2019-03-15 12:00:40 -07:00
Grisha Kruglov
2b00d1120f Integrate BackgroundSyncManager, enable history syncing
This patch integrates the new a-c BackgroundSyncManager, which is the
main entry point for interacting with Sync. Behind the scenes, it uses
WorkManager in order to sync configured syncable stores.

Current behaviour:
- sync runs on start, with a slight delay
- sync runs on a schedule few times a day, to lessen the startup sync burden

Also included is a basic UI integration in order to allow user to synchronize
on demand, and monitor sync state.
2019-03-13 19:07:28 -05:00
Jeff Boek
521ca74836 Fixes #891 - Adds the leanplum sdk 2019-03-08 14:27:00 -08:00
ekager
1d939f209e No issue: Update Navigation Library 2019-03-06 22:33:59 -08:00
Colin Lee
b9aee25edd Fixes #675: Integrate Adjust SDK (for Greenfield flavor) 2019-03-01 12:57:59 -06:00
Arturo Mejia
725074ec16 Adding support for Site Permissions. 2019-02-28 13:32:08 -08:00
Colin Lee
dfd3e93d17 Fixes #745: Integrate Browser-Icons component for favicons 2019-02-28 13:31:44 -08:00
Grisha Kruglov
46789f4c62 Issue #418: Basic Firefox Accounts integration
This patch integrates relevant a-c components, and updates the current Preferences
UI to allow signing-in and displaying basic account information (email, displayName).

Currently there's no Accounts UI, and so singing out or otherwise interacting with the
account isn't possible.
2019-02-27 18:07:05 -05:00
Grisha Kruglov
9a9740bfd3 Issue #309: Consume Fenix megazord; enable Rust logging 2019-02-27 18:07:05 -05:00
Sebastian Kaspari
0bffc071b6 Closes #698: Create product flavors for Fennec transition.
* greenfield (pure Fenix without anything added)
* firefoxNightly (To replace Firefox Nightly)
* firefoxBeta (To replace Firefox Beta)
* firefoxRelease (To replace Firefox Release)

For now it will be a bit annoying to have all those flavors. But once the transition has been
successfully completed we can start to tear them down again.

Once GeckoView universal builds are available we can get rid of the "abi" dimension.

If this is going to slow down the CI process then I might look into parallelizing the build
or potentially introducing a taskcluster CI setup (if that makes sense).
2019-02-27 13:02:44 -06:00
Colin Lee
64ef207613 Limit Raptor to debug and special builds 2019-02-26 11:26:58 -06:00
Sawyer Blatz
721d181d0b
Closes #622: Adds Glide (#623) 2019-02-21 09:38:00 -08:00
Colin Lee
5cf61c95db Fixes #589: Add sample unit tests for a component 2019-02-20 09:20:40 -08:00
Colin Lee
6d71faa44d Fixes #541: Crash on Home Screen
The Android Lifecycle Architecture component does not have fine-grained enough lifecycle event callbacks to safely manage Rx subscriptions in Fragment lifecycles. Added autodispose to simplify.
2019-02-16 19:40:39 -08:00
Sebastian Kaspari
5903e8b652 Issue #444: Adapt version code for aarch64 to follow order: X86 > aarch64 > ARM. 2019-02-14 10:19:40 -06:00
Colin Lee
ee229c9709 Fixes #354: Overflow menu for multitasking in current session 2019-02-14 10:14:57 -06:00
Jeff Boek
2e525813f6 Adds build date to the about page 2019-02-13 13:20:12 -06:00
Colin Lee
2bc769190e Fixes #401: Resolve known leak and install LeakCanary 2019-02-13 09:37:13 -08:00
Sebastian Kaspari
b4d1ac0d63 Closes #472: Integrate feature-session-bundling component.
This will take care of saving and restoring the (`SessionManager`) state.
2019-02-13 09:35:45 -08:00
Sebastian Kaspari
5f8a15e9ae Introduce aarch64 flavor and publish nightly build. 2019-02-13 08:59:31 -08:00
Emily Kager
0c8b2a8a1e Closes #449 - Adds Basic About Page with Dated Version Name 2019-02-12 16:04:01 -08:00
Colin Lee
c3e8e83776 Enable Proguard plus optimizations for release 2019-02-12 14:20:06 -08:00
Colin Lee
f09dc2453f Fixes #351 Create home screen component for multitasking 2019-02-09 15:52:10 -06:00
Emily Kager
77883c0f30 Closes #403 Use Fragments for Navigation, Add Toolbar to HomeActivity 2019-02-08 12:57:38 -08:00
Emily Kager
4f3c0ee8ad Closes #378 - Creates Library Fragment UI and adds resources 2019-02-06 08:04:04 -08:00
Jonathan Almeida
21508f49ca WIP: Integrate feature-customtabs component 2019-02-05 17:30:51 -08:00
Jeff Boek
a6004fea20 Closes #146 & Closes #147: Integrates find in page
Co-authored-by: Sawyer Blatz <sdblatz@gmail.com>
2019-02-01 23:00:37 -08:00
Sebastian Kaspari
344bc0aea6 Move architecture/mvi code to separate gradle module. 2019-02-01 09:45:55 -06:00
Sebastian Kaspari
7d807f5a0a Closes #263: Integrate service-glean component. 2019-01-31 09:04:15 -08:00
Emily Kager
8368f4fbb2 Part of #288 - Set up basic settings menu 2019-01-30 14:29:17 -08:00
Christian Sadilek
b7384a2633 Closes #264: Integrate feature-contextmenu component 2019-01-30 15:14:35 -06:00
Christian Sadilek
614374942a Closes #265: Integrate feature-prompts component 2019-01-30 14:25:58 -06:00
Colin Lee
273f33b244 Fixes #290: Integrate new Fenix architecture 2019-01-30 13:44:58 -06:00
Sebastian Kaspari
d5515c9f6e Issue #267: Integrate lib-crash component and upload crash reports to sentry and socorro. 2019-01-30 09:11:15 -06:00
Grisha Kruglov
f78b62751d Use abiFilter in product flavour definitions to filter for the supported architectures
This fixes a regression from https://github.com/mozilla-mobile/fenix/pull/294

That patch adds a dependency which loads some native libraries. Those native libs are
shipped for a variety of architectures. Specifically, there are versions of aarch64 and armv7.
What seems to happen is that since those libraries are loaded first (GV is lazily initialized
after history stuff), and since aarch64 versions of these libs is chosen by the native loader,
consequent native loads select for the same abi type. aarch64 version of libmozglue isn't there,
loader fails to find it and we crash.

Being explicit with the abiFilter in the product flavour definitions strips out aarch64 app-services
libs from the apk. When they're loaded first, armv7 versions are picked (since we don't have any other
ones), and everything works correctly afterwards.

Another way to achieve the same result would be to exclude arm64 libs via packagignOptions directive:
packagingOptions { exclude "lib/arm64-v8a/**" }

... but that's a less flexible approach in the longer term.
2019-01-29 16:37:48 -08:00
Christian Sadilek
8ac32ee988 Closes #266 - Integrate feature-downloads component 2019-01-29 14:42:07 -06:00
Grisha Kruglov
0e3965632a Closes #270: Integrate browser-storage-sync for history storage and toolbar autocompletion 2019-01-29 14:40:59 -06:00
Colin Lee
69e9617272 Fixes #127: Add architecture classes 2019-01-28 15:07:48 -06:00
Sebastian Kaspari
63973c4086 Add application id suffix for debug builds.
This makes it a bit more pleasant to work with devices that also have the Nightly builds installed.
2019-01-28 10:33:08 -08:00
Emily Kager
5a3fc1325f Adds toolbar with autocomplete and menu to BrowserFragment 2019-01-24 14:39:51 -08:00
Jeff Boek
3e0ed05c0e Adds missing licenses 2019-01-24 14:13:28 -08:00
Jeff Boek
560aea9b56 For #141 - wires up toolbar and awesomebar 2019-01-24 14:13:28 -08:00
Jeff Boek
480ae93a72 For #141 - Adds autocomplete ot the search screen
- Adds convenience extensions to Context and Fragment
- Imports more components from Android Components
2019-01-24 14:13:28 -08:00
Jonathan Almeida
a038b5f8e4 Use support-ktx for Lifecycle.addObservers 2019-01-24 09:25:46 -08:00
Jeff Boek
4c4f344a97 For #131 - Loads mozilla.org in the browser fragment 2019-01-18 15:47:19 -08:00
Emily Kager
4421adecbb Implement Navigation, Add Search Fragment, Add Browser Fragment 2019-01-15 14:08:37 -08:00