Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 05f347890c62aaf1f585b9adbbeb75832d3c8b2c
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Mon Aug 27 17:05:17 2018
Make Nav Direction classes extend top level Direction classes.
Directions classes who's destination is contained in a nav graph with
top level actions will now extend the nav graph's direction class
enabling global actions to be available to lower layers of the graph.
Bug: 79871405
Test: ./gradlew :navigation:navigation-safe-args-generator:test
Change-Id: Id59d8547dacb33c0d75ddd282754d87b499c2b9b
M navigation/safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/GeneratorOutput.kt
M navigation/safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavSafeArgsGenerator.kt
M navigation/safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavWriter.kt
M navigation/safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/ext/NavJavaPoet_ext.kt
M navigation/safe-args-generator/src/tests/kotlin/androidx/navigation/safe/args/generator/NavGeneratorTest.kt
M navigation/safe-args-generator/src/tests/kotlin/androidx/navigation/safe/args/generator/NavParserTest.kt
M navigation/safe-args-generator/src/tests/kotlin/androidx/navigation/safe/args/generator/NavWriterTest.kt
A navigation/safe-args-generator/src/tests/kotlin/androidx/navigation/safe/args/generator/TestUtils.kt
A navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/LoginDirections.java
A navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/LoginFragmentDirections.java
A navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/MainFragmentDirections.java
A navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/RegisterFragmentDirections.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_writer_test/Finish.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_writer_test/MainFragmentArgs.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_writer_test/MainFragmentDirections.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_writer_test/Next.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_writer_test/SanitizedMainFragmentArgs.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_writer_test/SanitizedMainFragmentDirections.java
A navigation/safe-args-generator/src/tests/test-data/nested_login_test.xml
M navigation/safe-args-gradle-plugin/src/main/kotlin/androidx/navigation/safeargs/gradle/ArgumentsGenerationTask.kt
https://android-review.googlesource.com/739287
https://goto.google.com/android-sha1/05f347890c62aaf1f585b9adbbeb75832d3c8b2c
Branch: androidx-master-dev
commit 05f347890c62aaf1f585b9adbbeb75832d3c8b2c
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Mon Aug 27 17:05:17 2018
Make Nav Direction classes extend top level Direction classes.
Directions classes who's destination is contained in a nav graph with
top level actions will now extend the nav graph's direction class
enabling global actions to be available to lower layers of the graph.
Bug: 79871405
Test: ./gradlew :navigation:navigation-safe-args-generator:test
Change-Id: Id59d8547dacb33c0d75ddd282754d87b499c2b9b
M navigation/safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/GeneratorOutput.kt
M navigation/safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavSafeArgsGenerator.kt
M navigation/safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavWriter.kt
M navigation/safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/ext/NavJavaPoet_ext.kt
M navigation/safe-args-generator/src/tests/kotlin/androidx/navigation/safe/args/generator/NavGeneratorTest.kt
M navigation/safe-args-generator/src/tests/kotlin/androidx/navigation/safe/args/generator/NavParserTest.kt
M navigation/safe-args-generator/src/tests/kotlin/androidx/navigation/safe/args/generator/NavWriterTest.kt
A navigation/safe-args-generator/src/tests/kotlin/androidx/navigation/safe/args/generator/TestUtils.kt
A navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/LoginDirections.java
A navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/LoginFragmentDirections.java
A navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/MainFragmentDirections.java
A navigation/safe-args-generator/src/tests/test-data/expected/nav_generator_test/RegisterFragmentDirections.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_writer_test/Finish.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_writer_test/MainFragmentArgs.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_writer_test/MainFragmentDirections.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_writer_test/Next.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_writer_test/SanitizedMainFragmentArgs.java
M navigation/safe-args-generator/src/tests/test-data/expected/nav_writer_test/SanitizedMainFragmentDirections.java
A navigation/safe-args-generator/src/tests/test-data/nested_login_test.xml
M navigation/safe-args-gradle-plugin/src/main/kotlin/androidx/navigation/safeargs/gradle/ArgumentsGenerationTask.kt
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit a4aa9aa7ab97cd61977da77916bff481ab37b936
Author: Chris Craik <ccraik@google.com>
Date: Mon Feb 22 17:24:52 2021
Add clear errors for missing stats
Fixes: 174175947
Bug: 180956594
Test: TrivialStartupBenchmark
Test: ./gradlew bench:b-m:cC bench:b-m-j:cC
Previously we would print a warning to logcat if a stat was missing,
but we've completely switched our sorce of data (to Perfetto) since
then.
Inspected logcat from 5 macrobenchmark suite runs in CI, saw existing
warning not being printed.
Change-Id: Ib308ef0b17cdf9bcb504573bad89aab1feab9196
A benchmark/macro/src/androidTest/java/androidx/benchmark/macro/MetricResultExtensionsTest.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
A benchmark/macro/src/main/java/androidx/benchmark/macro/MetricResultExtensions.kt
https://android-review.googlesource.com/1600589
Branch: androidx-main
commit a4aa9aa7ab97cd61977da77916bff481ab37b936
Author: Chris Craik <ccraik@google.com>
Date: Mon Feb 22 17:24:52 2021
Add clear errors for missing stats
Fixes: 174175947
Bug: 180956594
Test: TrivialStartupBenchmark
Test: ./gradlew bench:b-m:cC bench:b-m-j:cC
Previously we would print a warning to logcat if a stat was missing,
but we've completely switched our sorce of data (to Perfetto) since
then.
Inspected logcat from 5 macrobenchmark suite runs in CI, saw existing
warning not being printed.
Change-Id: Ib308ef0b17cdf9bcb504573bad89aab1feab9196
A benchmark/macro/src/androidTest/java/androidx/benchmark/macro/MetricResultExtensionsTest.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
A benchmark/macro/src/main/java/androidx/benchmark/macro/MetricResultExtensions.kt
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit d1ffd277764542f20c905b1fcc2b8821cd238f53
Author: Chris Craik <ccraik@google.com>
Date: Thu Feb 25 11:27:15 2021
Set persist.traced.enable, and add clearer perfetto errors
Test: ./gradlew bench:b-m:cC bench:b-m-j:cC
Test: ProcessSpeedProfileValidation #(with false error, output below)
Test: StartupTimingMetricTest # after setprop persist.traced.enable 0
Bug: 180956594
Fixes: 181260845
Use persist.traced.enable on devices that require it to enable
perfetto capture.
Print device info in suspected device-specific exceptions, make
perfetto start errors granular, and print trace files to provide in
bugreport if metrics are missing.
Additionally, add brand to context json output, for consistency with
device info logging.
Sample failure 1:
```
java.lang.IllegalStateException: Perfetto tracing failed to start. Command output = 31875
Please report a bug, and include a logcat capture of the test run and failure.DeviceInfo(Brand=google, Model=Pixel 2, SDK=30, BuildFp=google/walleye/walleye:11/RP1A.201005.004.A1/6934943:user/release-keys)
```
Sample failure 2:
```
java.lang.IllegalStateException: Error, different metrics observed in different iterations.
Please report a bug, and include a logcat capture, and all traces captured by this test run:
/storage/emulated/0/Android/data/androidx.benchmark.integration.macrobenchmark.test/cache/ProcessSpeedProfileValidation_start[compilation_mode=androidx.benchmark.macro.CompilationMode.None,startup_mode=WARM]_iter000.trace
/storage/emulated/0/Android/data/androidx.benchmark.integration.macrobenchmark.test/cache/ProcessSpeedProfileValidation_start[compilation_mode=androidx.benchmark.macro.CompilationMode.None,startup_mode=WARM]_iter001.trace
/storage/emulated/0/Android/data/androidx.benchmark.integration.macrobenchmark.test/cache/ProcessSpeedProfileValidation_start[compilation_mode=androidx.benchmark.macro.CompilationMode.None,startup_mode=WARM]_iter002.trace
DeviceInfo(Brand=google, Model=Pixel 2, SDK=30, BuildFp=google/walleye/walleye:11/RP1A.201005.004.A1/6934943:user/release-keys)
at androidx.benchmark.macro.MetricResultExtensionsKt.mergeToMetricResults(MetricResultExtensions.kt:36)
```
Change-Id: Ic5d01dceb67abc4ea4f0e8e5057a38fee93c03c0
M benchmark/common/src/androidTest/java/androidx/benchmark/ResultWriterTest.kt
M benchmark/common/src/main/java/androidx/benchmark/ResultWriter.kt
M benchmark/macro/src/androidTest/java/androidx/benchmark/macro/MetricResultExtensionsTest.kt
M benchmark/macro/src/androidTest/java/androidx/benchmark/macro/StartupTimingMetricTest.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/DeviceInfo.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/MetricResultExtensions.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCapture.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCaptureWrapper.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoHelper.java
https://android-review.googlesource.com/1608304
Branch: androidx-main
commit d1ffd277764542f20c905b1fcc2b8821cd238f53
Author: Chris Craik <ccraik@google.com>
Date: Thu Feb 25 11:27:15 2021
Set persist.traced.enable, and add clearer perfetto errors
Test: ./gradlew bench:b-m:cC bench:b-m-j:cC
Test: ProcessSpeedProfileValidation #(with false error, output below)
Test: StartupTimingMetricTest # after setprop persist.traced.enable 0
Bug: 180956594
Fixes: 181260845
Use persist.traced.enable on devices that require it to enable
perfetto capture.
Print device info in suspected device-specific exceptions, make
perfetto start errors granular, and print trace files to provide in
bugreport if metrics are missing.
Additionally, add brand to context json output, for consistency with
device info logging.
Sample failure 1:
```
java.lang.IllegalStateException: Perfetto tracing failed to start. Command output = 31875
Please report a bug, and include a logcat capture of the test run and failure.DeviceInfo(Brand=google, Model=Pixel 2, SDK=30, BuildFp=google/walleye/walleye:11/RP1A.201005.004.A1/6934943:user/release-keys)
```
Sample failure 2:
```
java.lang.IllegalStateException: Error, different metrics observed in different iterations.
Please report a bug, and include a logcat capture, and all traces captured by this test run:
/storage/emulated/0/Android/data/androidx.benchmark.integration.macrobenchmark.test/cache/ProcessSpeedProfileValidation_start[compilation_mode=androidx.benchmark.macro.CompilationMode.None,startup_mode=WARM]_iter000.trace
/storage/emulated/0/Android/data/androidx.benchmark.integration.macrobenchmark.test/cache/ProcessSpeedProfileValidation_start[compilation_mode=androidx.benchmark.macro.CompilationMode.None,startup_mode=WARM]_iter001.trace
/storage/emulated/0/Android/data/androidx.benchmark.integration.macrobenchmark.test/cache/ProcessSpeedProfileValidation_start[compilation_mode=androidx.benchmark.macro.CompilationMode.None,startup_mode=WARM]_iter002.trace
DeviceInfo(Brand=google, Model=Pixel 2, SDK=30, BuildFp=google/walleye/walleye:11/RP1A.201005.004.A1/6934943:user/release-keys)
at androidx.benchmark.macro.MetricResultExtensionsKt.mergeToMetricResults(MetricResultExtensions.kt:36)
```
Change-Id: Ic5d01dceb67abc4ea4f0e8e5057a38fee93c03c0
M benchmark/common/src/androidTest/java/androidx/benchmark/ResultWriterTest.kt
M benchmark/common/src/main/java/androidx/benchmark/ResultWriter.kt
M benchmark/macro/src/androidTest/java/androidx/benchmark/macro/MetricResultExtensionsTest.kt
M benchmark/macro/src/androidTest/java/androidx/benchmark/macro/StartupTimingMetricTest.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/DeviceInfo.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/MetricResultExtensions.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCapture.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCaptureWrapper.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoHelper.java
Description
It's possible to get an exception in ide string output due to not capturing stats. Clarify this class of errors with explicit exceptions.