Process: dev.msfjarvis.aps, PID: 13810
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/widget/inline/InlinePresentationSpec;
at com.zeapo.pwdstore.autofill.oreo.AutofillResponseBuilder.makeFillResponse(AutofillResponseBuilder.kt:28)
at com.zeapo.pwdstore.autofill.oreo.OreoAutofillService.onFillRequest(OreoAutofillService.kt:87)
at android.service.autofill.-$$Lambda$I0gCKFrBTO70VZfSZTq2fj-wyG8.accept(Unknown Source:8)
at com.android.internal.util.function.pooled.PooledLambdaImpl.doInvoke(PooledLambdaImpl.java:300)
at com.android.internal.util.function.pooled.PooledLambdaImpl.invoke(PooledLambdaImpl.java:195)
at com.android.internal.util.function.pooled.OmniFunction.run(OmniFunction.java:86)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)
Caused by: java.lang.ClassNotFoundException: android.widget.inline.InlinePresentationSpec
... 13 more
version 2.0.0-SNAPSHOT Free flavor
1.13.1 works fine
1.13.1 works fine
Yep, the regression is from the new inline presentation changes from #1181. It enables this to happen on Android 11, but the new APIs are missing on Android 10 and below so you see the crashes. I'm working on it right now.
1.13.1 works fine
Yep, the regression is from the new inline presentation changes from #1181. It enables this to happen on Android 11, but the new APIs are missing on Android 10 and below so you see the crashes. I'm working on it right now.
Maybe I'm naive, but I expected errors like this to be caught by the IDE. @msfjarvis Do you know what kind of usage of the new API is permitted outside API level checks? Function arguments with the type InlinePresentationSpec seemed fine, but maybe aren't...
1.13.1 works fine
Yep, the regression is from the new inline presentation changes from #1181. It enables this to happen on Android 11, but the new APIs are missing on Android 10 and below so you see the crashes. I'm working on it right now.
Maybe I'm naive, but I expected errors like this to be caught by the IDE.
I'd chalk it down to a Lint bug. I'll talk to someone from the Jetpack team and see if this can be fixed.
@msfjarvis Do you know what kind of usage of the new API is permitted outside API level checks? Function arguments with the type
InlinePresentationSpecseemed fine, but maybe aren't...
The answer appears to be _none_. What I've done is moved all imeSpec-taking methods into a Api30AutofillResponseBuilder class and restored the previous versions in AutofillResponseBuilder, selectively calling these classes based on an API level check in OreoAutofillService. It's an insane amount of duplication, but fixes the problem. The commit is here, filing a PR now.
Snapshot will be up shortly, thanks for the report!
I confirm this is fixed in the current snapshot.
Most helpful comment
Yep, the regression is from the new inline presentation changes from #1181. It enables this to happen on Android 11, but the new APIs are missing on Android 10 and below so you see the crashes. I'm working on it right now.