* main: (37 commits)
Disable animations of instrumented tests (#1167)
Bump gradle/wrapper-validation-action from 1 to 2
Remove unused release variable. Fixes#1231
Apply Composable Parameter Ordering Guidelines
Remove kotlinx-coroutines-guava dependency from :sync:work
Add explicit guava-android dependency for :sync:work
Extract ScreenshotHelper to separate testing module
Update AGP to 8.3.0
Remove Insert function - Insert is only used in test. - Upsert do same thing as Insert.
🤖 Updates baselines for Dependency Guard
Bump the kotlin-ksp-compose group with 6 updates
🤖 Updates baselines for Dependency Guard
Bump hilt from 2.50 to 2.51
Bump com.google.truth:truth from 1.1.5 to 1.4.2
Move java to kotlin folder.
Remove disk usage testing
Figuring out what is using 66Gb in the runner
Dpm
Improve converting to kotlin timezone
Use trySend multiple times
...
Change-Id: If3f564108d42675ba55ef242f0d06f04aff45c4a
* Remove legacy benchmark build type
Now that we have the baseline profile gradle plugin,
there is no need for a benchmark build type.
The plugin does the setup and configuration and runs against the
correct app flavor.
* Remove explicit benchmark build type from benchmark module
* Remove stale build task exclusions
* Fix tracing import location
FYI @mlykotom
As discussed in https://github.com/coil-kt/coil/issues/2097 the problem is caused by regitering system services, which will be fixed in 2.6.0
Change-Id: I9085309780508137f10b25ff82deed3c62e5d159
This way, we can load Coil's backend on a background thread and not block the MainThread with it.
Previously, the Coil image loader was initialized with the first composed image, which caused ~10ms duration and most likely skipped frames.
Change-Id: Iaa583b6adc1df7d7a51dbae1473e539f2c0b0b62
* Run dependencyGuard task during CI
Run the `dependencyGuard` task during CI, which will fail if there are
detected changes.
Change-Id: If5f2b18a4c765bd38a3353df2adaaa91cf1739c3
* Add actions to update dependency guard baselines
* Update baselines
* Better glob for update baselines action
- Reduce the visibility of multiple Hilt `Module`s and implementations of public interfaces
- Correctly configure the visibility of dependencies:
- `api` when it's part of it's public `api`
- `implementation` when it's part of it's internal `implementation`
- Remove unnecessary dependencies in build.gradle.kts files
- Remove unnecessary dependencies provided by plugins
- Remove unnecessary applied plugins (i.e. roborazzi)
- Sort dependencies in `build.gradle.kts`
- Delete unused entries in `libs.versions.toml`
- Remove unnecessary nullable types
- Replace no-op method bodies with Unit
- Convert to expression body
- Replace if with when
- Remove braces from 'when' entries
- Remove braces from if statement
- Convert to single line lambda
- oneline if/returns
- Replace 'contains' call with 'in' operator
Following this refactor, it could be great to envision a more "strict" code formatter like ktlint 1.0 (we are currently stuck at 0.48.1)
Baseline profile generation is disabled for the PR level Build task. Release tasks require a fresh baseline profile. A new profile is generated using the baseline profile Gradle plugin.
* Prepare for usage of dex layout optimizations which can be actively used once NiA switches to AGP 8.2+.
* Add GMD config to release build
* Switch to macos-latest
* Update names for StartupBenchmark tests to better reflect states
* Stable release and recent GMD device
* Reduce flakiness by adding wait to benchmark
* More convenient waiting for objects
* Rename junit dependency to androidx-junit
* Only run baseline profile benchmarks during GH workflow
* Enable automatic BP generation for only release builds
* Disable BP generation from Build workflow
* Specify modules and skip benchmarking Build workflow
Bug: b/299334172
* Moved protobuf to separate module to avoid having to wire KSP's Plugin with the Protobuf Plugin.
* `@Binds` function cannot be an extension function.
* Commented `kotlin.compiler.execution.strategy=in-process` in CI to circumvent OOMs due to increased metaspace usage.
* [CI] Runs build in macos to generate a cache for androidTest runs
* Build projects before running emulator
* Fixes flaky coroutines test
* Moves spotless up in local tests job
* Enables config cache by setting problems to warn. Fixes#1022
- Prevent logging multiple times (because of `onResume()` callback)
- Remove unnecessary io dispatcher: `ListenableFuture<T>.await()` is already main-safe and prevent acquiring io slot.
- Merge comments into a single javadoc comment on the `ProfileVerifierLogger` type.
- Add proper javadoc format with markdown specific blocks.
- Update logs & tag to be more uniform.
Closes#945