Fixed
Status Update
Comments
ja...@google.com <ja...@google.com>
ra...@google.com <ra...@google.com>
ap...@google.com <ap...@google.com> #2
Hi. Thanks for reporting this. Fixed in alpha-04
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit e782987543a9f8ccd485e970ddc74564b24378db
Author: Vighnesh Raut <vighnesh.raut13@gmail.com>
Date: Mon Jan 02 15:27:40 2023
fix: tab row crashes when only 1 tab is added
Bug: b/264018028
Test: Added unit test
Change-Id: I6381dbac304fc1d69d3708c6655f8b595668e93f
M tv/tv-material/src/androidTest/java/androidx/tv/material/TabRowTest.kt
M tv/tv-material/src/main/java/androidx/tv/material/TabRow.kt
https://android-review.googlesource.com/2373449
Branch: androidx-main
commit e782987543a9f8ccd485e970ddc74564b24378db
Author: Vighnesh Raut <vighnesh.raut13@gmail.com>
Date: Mon Jan 02 15:27:40 2023
fix: tab row crashes when only 1 tab is added
Bug:
Test: Added unit test
Change-Id: I6381dbac304fc1d69d3708c6655f8b595668e93f
M tv/tv-material/src/androidTest/java/androidx/tv/material/TabRowTest.kt
M tv/tv-material/src/main/java/androidx/tv/material/TabRow.kt
ap...@google.com <ap...@google.com> #4
deleted
ap...@google.com <ap...@google.com> #5
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.tv:tv-material:1.0.0-alpha04
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 904f805c02027504863d752097635509139d49a5
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Fri Jan 07 14:17:07 2022
Expose constructor and missing getters in Constraints
For kotlin, it is more natural to use constructor and named parameters
rather than builder and chain setter calls, so corresponding constructor
was made public.
Constraints were missing getters for some of the properties,
which is against api guidelines, so they were added as a drive-by
Relnote: "Constraints can now be directly constructed rather than
using Builder, which is convenient for Kotlin users."
bug: 137568653
Test: NA
Change-Id: Idc3900488dcaae5ca6c52b706723a752425875d9
M work/work-runtime/api/restricted_current.txt
M work/work-runtime/src/main/java/androidx/work/impl/background/systemjob/SystemJobInfoConverter.java
M work/work-runtime/src/main/java/androidx/work/Constraints.kt
M work/work-runtime/src/main/java/androidx/work/impl/model/WorkTypeConverters.kt
M work/work-runtime/api/public_plus_experimental_current.txt
M work/work-multiprocess/src/main/java/androidx/work/multiprocess/parcelable/ParcelableConstraints.java
M work/work-runtime/api/current.txt
https://android-review.googlesource.com/1940975
Branch: androidx-main
commit 904f805c02027504863d752097635509139d49a5
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Fri Jan 07 14:17:07 2022
Expose constructor and missing getters in Constraints
For kotlin, it is more natural to use constructor and named parameters
rather than builder and chain setter calls, so corresponding constructor
was made public.
Constraints were missing getters for some of the properties,
which is against api guidelines, so they were added as a drive-by
Relnote: "Constraints can now be directly constructed rather than
using Builder, which is convenient for Kotlin users."
bug: 137568653
Test: NA
Change-Id: Idc3900488dcaae5ca6c52b706723a752425875d9
M work/work-runtime/api/restricted_current.txt
M work/work-runtime/src/main/java/androidx/work/impl/background/systemjob/SystemJobInfoConverter.java
M work/work-runtime/src/main/java/androidx/work/Constraints.kt
M work/work-runtime/src/main/java/androidx/work/impl/model/WorkTypeConverters.kt
M work/work-runtime/api/public_plus_experimental_current.txt
M work/work-multiprocess/src/main/java/androidx/work/multiprocess/parcelable/ParcelableConstraints.java
M work/work-runtime/api/current.txt
Description
val constraints = Constraints.Builder()
.setRequiresCharging(true)
.setRequiredNetworkType(NetworkType.CONNECTED)
.build()
The default parameters approach is trivial using a data class and named parameters could be used when being constructed.
data class Constraints(
val requiredNetworkType: NetworkType = NetworkType.NOT_REQUIRED,
val requiresCharging: Boolean = false
)
val constraints = Constraints(requiredNetworkType = NetworkType.METERED)
For converting the builder from java to a more idiomatic Kotlin, we could also write a function that uses a method with a receiver on the builder.
inline fun constraints(builder: Constraints.Builder.() -> Unit): Constraints {
return Constraints.Builder().apply { builder() }.build()
}
val constraints = constraints {
setRequiredNetworkType(NetworkType.CONNECTED)
setRequiresCharging(true)
}
The naming of these could probably be renamed, just a nicer way to write builder like classes in kotlin.