STATE_HALF_EXPANDED cannot be disabled while also keeping fitToContents = true
based on which the tabs tray layout is currently set.
To work around this we'll set a a minuscule height for the tab tray when in
this state and then immediately advance to STATE_HIDDEN so to make it
imperceptible to the users.
Since I couldn't write unit tests because of InflateExceptions in Robolectric
I've written UI tests to protect against regressions.
This patch introduces a build flag that can be used on demand on the command line (`./gradlew -PmozillaOnline [..}`) or
permanently when added to local.properties (`mozillaOnline`).
At runtime `Config.channel.isMozillaOnline` will return `true` if the flag was set at build time.
* For #15278: added CoroutineManager to count runBlocking calls
* For #15278: Added actual detekt rule for runblocking and its config to the yaml
* For #15278: Added unit test for RunblockingCounter
* For #15278: renamed StrictModeStartupSuppressionCountTest.kt to PerformanceStartupTest.kt and added runBlockingCount test
* Lint fix
* For #15278: made runblocking a Long to prevent overflow
* For #15278: fixed MozRunblocking name, description and moved RunBlockingCounter to perf package
* For #15278:Renamed MozillaRunblockingCheck to MozillaRunBlockingCheck
* For #15278: Added setup for unit test, since it failed without restting counter
* For #15278: Fixed naming for RunBlocking lint check
* For #15278: removed changes made to test to use runBlockingIncrement
* For #15728: added test exclusion for runBlocking check
* For #15278: changed null check and added Synchronized to count setter
* For #15278: fix for nits
* For #15278: added StartupExcessiveResourceUseTest to CODEOWNERS
* For #15278: fixed for nits
* For #15278: Moved increment function to extension function and fixed indentation
* For #15278: Added tests for Atomic Integer extension and nit fix
`assemble` doesn't assemble the tests so we need to run `test`.
`testClasses` isn't good enough because, according to `--profile`, it
doesn't include dependencies for `testRuntimeClasspath`.
I had to ignore one of the tests because the linter test API seemed to
be broken. All of these APIs are beta so I didn't think it was worth
trying to force it to work.
It caused a test to fail because super.visitElement asserted false
because it expected to be overriden. It was correctly overridden - we
were just still calling through to super anyway.
For mozilla-detekt-rules, the tests didn't compile at all so apparently
they haven't been running in testing.
mozilla-lint-rules worked but they were not clean.
Items should have a 16dp all around padding.
Have them have a 8dp padding that will add to 16 when placed together.
Have the parent have another 8dp that will add to 16 for when items are placed
to the edge of the available screen.
Moved the previous layout in a new, bigger FrameLayout that would serve as a
buffer space for the play/pause button to be translated to the exterior.
Otherwise the button would be clipped.
* Ability to rename top sites, closes#9548
* Highlight the "Remove" top site action as destructive
With more menu items in the top site contextual menu, it makes sense to differentiate
* Added test for the top site renaming action
* Fixed lint check (wildcard imports, blank spaces)
* Applied suggestions from code review
* Apply suggestions from code review
Co-authored-by: Gabriel Luong <gabriel.luong@gmail.com>
* Implemented dialog click listener with manual dismiss/cancel
Co-authored-by: Lorenzo Stanco <lorenzo.stanco@gmail.com>
* For #14637 - Compatibility patch for AC - 8554
* Update Android Components version to 65.0.20201029143039
Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
* For #15929: Remove SearchWidgetCFR telemetry.
* For #15929: Remove SearchWidgetCFR and search widget experiment.
* For #15929: Remove unit tests references to search widget experiment.