Fixed
Status Update
Comments
ra...@google.com <ra...@google.com> #2
Building note: run ./gradlew ... -x processReleaseMetadata
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 5f6e46e40a7e47924ac1d04426230466de7b6f38
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Tue Aug 07 15:57:10 2018
Fix ViewModel proguard rules
It removes allowshrinking modifier: a constructor
shouldn't be removed if it is unused, because it is
called through reflection
Test: manual =\
bug: 112230489
Change-Id: I215fe895fa12eb04172e9380a296e2d74567907c
M lifecycle/viewmodel/proguard-rules.pro
https://android-review.googlesource.com/727573
https://goto.google.com/android-sha1/5f6e46e40a7e47924ac1d04426230466de7b6f38
Branch: androidx-master-dev
commit 5f6e46e40a7e47924ac1d04426230466de7b6f38
Author: Sergey Vasilinets <sergeyv@google.com>
Date: Tue Aug 07 15:57:10 2018
Fix ViewModel proguard rules
It removes allowshrinking modifier: a constructor
shouldn't be removed if it is unused, because it is
called through reflection
Test: manual =\
bug: 112230489
Change-Id: I215fe895fa12eb04172e9380a296e2d74567907c
M lifecycle/viewmodel/proguard-rules.pro
[Deleted User] <[Deleted User]> #4
Thanks!
Description
Version used: alpha09
Devices/Android versions reproduced on:
When using WorkContinuation.combine to join multiple works before continuing, it has a check in it to make sure it's acutally combining multiple WorkContinuations. I think this check is uneccessary and annoying, and adds a hard to find bug in implementations. The combine() method could easily just do nothing if there's only a single WorkContinuation passed to it.
Current use case:
I'm uploading a number of photos, which I'm splitting into a number of WorkContinuation lists so that several happen in parallel. If I only have one photo to upload then obviously I can only split this into one list of work, and the app crashes because WorkContinuation.combine() 'cannot' combine a single item. To fix this I have to have this code:
```
val allCombined = if (workLists.size == 1) workLists[0] else WorkContinuation.combine(workLists)
allCombined.then(....
```
which is much less nice than the original code which I think should work:
```
WorkContinuation.combine(workLists)
.then(....
```