Status Update
Comments
ch...@google.com <ch...@google.com> #2
Realized this also affects effectively-sealed classes (no public or protected constructors). We should consider adding ClassItem.isEffectivelySealed()
to match.
We have three options for the logic:
- Search
Codebase
for all descendent classes of each effectively sealed class and only consider the ancestor class effectively final if all its descendents are concrete or effectively sealed. This matches the behavior inherent to the language. - Disallow sealed (possibly also effectively sealed) classes from having abstract descendents altogether. This limits some potentially valid APIs (E.g.: ADT that the client extends) but might be worth doing if we think this is a bad API pattern.
- Disallow adding abstract methods to any abstract class or interface altogether. This checks is the only exception to rule against adding abstract methods, and maybe it's better to never add abstract methods to existing public classes.
ch...@google.com <ch...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
Author: George Mount <
Link:
Revert^2 "Add requestFocus(FocusDirection) to focusRequester"
Expand for full commit details
Revert^2 "Add requestFocus(FocusDirection) to focusRequester"
This reverts commit 274c9242bfe89dad5aeb7179750d45fa64c6ab80.
Reason for revert: The original CL was correct. The revert was incorrect.
Relnote: "Adds requestFocus(FocusDirection) to both focusRequester and
FocusTargetModifierNode to allow focusing with a specific
direction."
Bug: 220960090
Test: new test
Change-Id: I96b97720a65d2e1bf8d7f845dc05844f7e7f565c
Files:
- M
compose/ui/ui/api/1.8.0-beta01.txt
- M
compose/ui/ui/api/current.ignore
- M
compose/ui/ui/api/current.txt
- M
compose/ui/ui/api/restricted_1.8.0-beta01.txt
- M
compose/ui/ui/api/restricted_current.ignore
- M
compose/ui/ui/api/restricted_current.txt
- M
compose/ui/ui/integration-tests/ui-demos/src/main/java/androidx/compose/ui/demos/focus/ExplicitEnterExitWithCustomFocusEnterExitDemo.kt
- M
compose/ui/ui/src/androidInstrumentedTest/kotlin/androidx/compose/ui/focus/RequestFocusTest.kt
- M
compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
- M
compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusOwnerImpl.kt
- M
compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusRequester.kt
- M
compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusTargetModifierNode.kt
- M
compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusTargetNode.kt
- M
compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/focus/FocusTransactions.kt
Hash: fb5d4a3eebdbc0cd3034d11eae8e00f507ec1a68
Date: Wed Nov 06 19:23:12 2024
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
Author: drchen <
Link:
Introduce APIs to support pane preferred heights
Expand for full commit details
Introduce APIs to support pane preferred heights
Note that we need to ignore API checking of adding the modifier
to PaneScaffoldScope, as b/220960090 indicates, the current Metalava
is not able to tell if a sealed interface has been implemented by
an open abstract class. (In our case, all inheritances are sealed or
internal so we are good to ignore the API warning.)
Relnote: "Introduce PaneScaffoldScope.preferredHeight modifier for
devs to provide pane preferred heights that will be applied with
new adapt strategies we are going to introduce."
Test: n/a
Bug: 373490181
Bug: 373489847
Change-Id: I957dd252b2bd154e3b0be048c092147fb6d1b2b8
Files:
- M
compose/material3/adaptive/adaptive-layout/api/current.ignore
- M
compose/material3/adaptive/adaptive-layout/api/current.txt
- M
compose/material3/adaptive/adaptive-layout/api/restricted_current.ignore
- M
compose/material3/adaptive/adaptive-layout/api/restricted_current.txt
- M
compose/material3/adaptive/adaptive-layout/src/commonMain/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffold.kt
- M
compose/material3/adaptive/adaptive-layout/src/commonMain/kotlin/androidx/compose/material3/adaptive/layout/PaneScaffoldDirective.kt
Hash: 0d7a940f0ce81b2a9a699146f48de72a177357b7
Date: Wed Feb 26 11:34:20 2025
ap...@google.com <ap...@google.com> #5
Project: r8
Branch: 8.8
Author: Christoffer Adamsen <
Link:
Version 8.8.31
Expand for full commit details
Version 8.8.31
Bug: b/394185143
Change-Id: I36c072774b2d068478e653adf5c6fdace449eeb5
Files:
- M
src/main/java/com/android/tools/r8/Version.java
Hash: c43822639e26e541a3175cc3b38e78309f822b75
Date: Wed Feb 05 14:32:40 2025
ap...@google.com <ap...@google.com> #6
Project: r8
Branch: 8.8
Author: Christoffer Adamsen <
Link:
Reproduce and fix inadequate keeping of Gson <init>s
Expand for full commit details
Reproduce and fix inadequate keeping of Gson <init>s
Fixes: b/394185143
Change-Id: I4657735beffd0b7899323c8b7fba499eee45dfee
Files:
- M
src/main/java/com/android/tools/r8/shaking/ifrules/MaterializedSubsequentRulesOptimizer.java
- A
src/test/java/com/android/tools/r8/shaking/ifrule/IfRuleReductionWithMembersTest.java
Hash: 1f1341c669a7f8b446e520c6ef6201a49b90c3e4
Date: Wed Feb 05 14:32:32 2025
ap...@google.com <ap...@google.com> #7
Project: r8
Branch: 8.9
Author: Christoffer Adamsen <
Link:
Reproduce and fix inadequate keeping of Gson <init>s
Expand for full commit details
Reproduce and fix inadequate keeping of Gson <init>s
Fixes: b/394185143
Change-Id: I4657735beffd0b7899323c8b7fba499eee45dfee
Files:
- M
src/main/java/com/android/tools/r8/shaking/ifrules/MaterializedSubsequentRulesOptimizer.java
- A
src/test/java/com/android/tools/r8/shaking/ifrule/IfRuleReductionWithMembersTest.java
Hash: aa453d30de611726dad19eac53181f2ac29237a5
Date: Wed Feb 05 14:31:58 2025
ap...@google.com <ap...@google.com> #8
Project: r8
Branch: 8.9
Author: Christoffer Adamsen <
Link:
Version 8.9.25
Expand for full commit details
Version 8.9.25
Bug: b/394185143
Change-Id: Iffbf27b00445091fdc1f27b4f826b6180fcb5251
Files:
- M
src/main/java/com/android/tools/r8/Version.java
Hash: e9553fdfed74d010e16e0b624a26f3a71d18feba
Date: Wed Feb 05 14:32:06 2025
ap...@google.com <ap...@google.com> #9
Project: r8
Branch: 8.8
Author: Christoffer Adamsen <
Link:
Reproduce and fix inadequate keeping of Gson <init>s
Expand for full commit details
Reproduce and fix inadequate keeping of Gson <init>s
Fixes: b/394185143
Change-Id: I4657735beffd0b7899323c8b7fba499eee45dfee
Files:
- M
src/main/java/com/android/tools/r8/shaking/ifrules/MaterializedSubsequentRulesOptimizer.java
- A
src/test/java/com/android/tools/r8/shaking/ifrule/IfRuleReductionWithMembersTest.java
Hash: 1f1341c669a7f8b446e520c6ef6201a49b90c3e4
Date: Wed Feb 05 14:32:32 2025
ga...@linecorp.com <ga...@linecorp.com> #10
Hello.
I tried to check with this change.
But
<Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<Details>No such object: r8-releases/raw/com/android/tools/r8/8.8.31/r8-8.8.31.pom</Details>
</Error>
ap...@google.com <ap...@google.com> #11
Project: r8
Branch: 8.8
Author: Christoffer Adamsen <
Link:
Version 8.8.32
Expand for full commit details
Version 8.8.32
Bug: b/394185143
Change-Id: I2b4a23b67aabfa2582d2011ce811ac3f8f3fcdb2
Files:
- M
src/main/java/com/android/tools/r8/Version.java
Hash: 2aed3efa54f965c7f02f69ce980e8178f9fd3db9
Date: Thu Feb 06 08:46:34 2025
ch...@google.com <ch...@google.com> #12
Sorry about that, there was an error archiving 8.8.31. Please try with 8.8.32.
an...@google.com <an...@google.com> #13
Thank you for your patience while our engineering team worked to resolve this issue. A fix for this issue is now available in:
- Android Studio Meerkat | 2024.3.1 RC 2
- Android Gradle Plugin 8.9.0-rc02
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
Thank you for taking the time to submit feedback — we really appreciate it!
an...@google.com <an...@google.com> #14
The fixes for this issue are now also available in:
- Android Studio Ladybug Feature Drop | 2024.2.2 Patch 2
- Android Gradle Plugin 8.8.2
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
op...@gmail.com <op...@gmail.com> #15
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
kop.ruleFiles.put(name, [kop.getDefaultKopFile('kop-android-default.txt'), '
Issue:
java.lang.IllegalStateException: The value for this file collection cannot be changed any further
Description
Gson proguard rules is not working properly after upgrading to AGP 8.8
after a lot of testing, I believe this commit in R8 broke it, causing R8 to remove
<init>()
methodunfortunately, I can not reproduce this bug in a new project
the bug is still occurs in latest commit
5f9f76f286c6ea3cae34de83d8ab8ab9d74d398b