Status Update
Comments
sm...@google.com <sm...@google.com> #2
I don't think #1 makes a lot of sense. There are already potentially libraries out there without that metadata.
#2 makes the most sense to me, but in case we cannot be 100% reliable we should allow blacklisting libraries as described in #3. This should probably be handled globally for a project (in gradle.properpies rather than in the DSL)
#2 makes the most sense to me, but in case we cannot be 100% reliable we should allow blacklisting libraries as described in #3. This should probably be handled globally for a project (in gradle.properpies rather than in the DSL)
sm...@google.com <sm...@google.com> #3
As I have mentioned I don't think there is a silver bullet. #2 does not work on 100% and #1 will take time before devs will provide the metadata. #3 is in my opinion very important to introduce asap, as the developers have no way how to workaround it at this stage. Also in the future there can be any other issue and there is nothing wrong in doing #3 until we figure out something robust (or for instance finally migrate work manager and navigation to androidx that would make #2 a feasible solution).
sm...@google.com <sm...@google.com> #4
Yes, I'm working on #3 right now to unblock users. We can continue thinking about #2.
sm...@google.com <sm...@google.com> #5
Starting with AGP 3.3.0-rc01 and 3.4.0-alpha04, to blacklist libraries that should not be jetified, users can add a comma-separated list of regular expressions to the following property in the gradle.properties file:
android.jetifier.blacklist = ...
If a library's absolute path contains a substring that matches one of the regular expressions, the library won't be jetified.
For example, if the property is
android.jetifier.blacklist = doNot.*\\.jar, foo
then "/path/to/doNotJetify.jar" won't be jetified.
Change-Id: I6531fe0faafa45dc2811c5223ba199ccce5fee53
Note that this is only a temporary workaround while we work on a proper solution.
android.jetifier.blacklist = ...
If a library's absolute path contains a substring that matches one of the regular expressions, the library won't be jetified.
For example, if the property is
android.jetifier.blacklist = doNot.*\\.jar, foo
then "/path/to/doNotJetify.jar" won't be jetified.
Change-Id: I6531fe0faafa45dc2811c5223ba199ccce5fee53
Note that this is only a temporary workaround while we work on a proper solution.
sm...@google.com <sm...@google.com> #6
Hi. I'm trying to use the `android.jetifier.blacklist` workaround to prevent jetify from processing lombok (which generates a DuplicateEntry exception when trying to transform). I can't see to get it working though. Here are the relevant files:
gradle.properties:
```
android.enableJetifier=true
android.jetifier.blacklist = .*lombok.*
android.useAndroidX=true
```
build.gradle:
```
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta02'
classpath 'com.android.tools.build:gradle:3.3.0-beta03'
}
}
plugins {
id 'com.android.application' //version '3.3.0-beta03'
id 'jacoco'
}
```
gradle.properties:
```
android.enableJetifier=true
android.jetifier.blacklist = .*lombok.*
android.useAndroidX=true
```
build.gradle:
```
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta02'
classpath 'com.android.tools.build:gradle:3.3.0-beta03'
}
}
plugins {
id 'com.android.application' //version '3.3.0-beta03'
id 'jacoco'
}
```
sm...@google.com <sm...@google.com> #7
As mentioned at comment #5 , you will need to use AGP 3.3.0-rc01+ or 3.4.0-alpha04+ for the workaround to take effect.
Description
I am trying to combine selection library with paging library. Loading items from paging library works ok, but when I try to select item with long click (or with long click and dragging to select more items), the app crash:
java.lang.IllegalStateException: Range start point not set.
at androidx.core.util.Preconditions.checkState(Preconditions.java:131)
at androidx.recyclerview.selection.DefaultSelectionTracker.extendProvisionalRange(DefaultSelectionTracker.java:281)
at androidx.recyclerview.selection.GestureSelectionHelper.extendSelection(GestureSelectionHelper.java:227)
at androidx.recyclerview.selection.GestureSelectionHelper.handleMoveEvent(GestureSelectionHelper.java:204)
at androidx.recyclerview.selection.GestureSelectionHelper.handleTouch(GestureSelectionHelper.java:151)
at androidx.recyclerview.selection.GestureSelectionHelper.onTouchEvent(GestureSelectionHelper.java:125)
at androidx.recyclerview.selection.TouchEventRouter.onTouchEvent(TouchEventRouter.java:103)
at androidx.recyclerview.widget.RecyclerView.dispatchOnItemTouch(RecyclerView.java:2947)
at androidx.recyclerview.widget.RecyclerView.onTouchEvent(RecyclerView.java:3090)
at android.view.View.dispatchTouchEvent(View.java:10013)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2665)
...
When you pre-load some pages with scrolling the RecyclerView, it crash after selecting more items with dragging. See attached videos.
Sample code attached.
Library versions:
RecyclerView: 1.0.0
RecyclerView Selection:1.0.0
Paging: 2.1.0