Fixed
Status Update
Comments
vi...@google.com <vi...@google.com> #2
Feel free to disable the link check as a workaround.
The Gradle equivalent is:
android {
lintOptions {
disable "DialogFragmentCallbacksDetector"
}
}
do...@gmail.com <do...@gmail.com> #3
Not all of our builds depend on androidx.fragment and if you do not use androidx.fragment and you add this disable flag, lint fails due to non-existant check DialogFragmentCallbacksDetector. If you do not plan on fixing this soon, I can try and see if we can only disable the check if we depend on androidx.fragment.
vi...@google.com <vi...@google.com>
kc...@google.com <kc...@google.com>
cu...@google.com <cu...@google.com>
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 52b166175eabed99d14515190bfa0a7cea787004
Author: Jeremy Woods <jbwoods@google.com>
Date: Mon May 10 16:11:44 2021
Fix OnCreateDialogIncorrectCallback lint on empty java classes
The OnCreateDialogIncorrectCallbackDetector lint rule currently checks
the first element of a list without verifying the item is actually
there. We should check if the item is null before we do anything else.
RelNote: "The `OnCreateDialogIncorrectCallbackDetector` no longer fails
on empty java classes/interfaces"
Test: java empty interface clean
Bug: 187524311
Change-Id: Iaff6c041370bd5a7c2ac8ef8c32a2e6f7a15e456
M fragment/fragment-lint/src/main/java/androidx/fragment/lint/OnCreateDialogIncorrectCallbackDetector.kt
M fragment/fragment-lint/src/test/java/androidx/fragment/lint/OnCreateDialogIncorrectCallbackDetectorTest.kt
https://android-review.googlesource.com/1702325
Branch: androidx-main
commit 52b166175eabed99d14515190bfa0a7cea787004
Author: Jeremy Woods <jbwoods@google.com>
Date: Mon May 10 16:11:44 2021
Fix OnCreateDialogIncorrectCallback lint on empty java classes
The OnCreateDialogIncorrectCallbackDetector lint rule currently checks
the first element of a list without verifying the item is actually
there. We should check if the item is null before we do anything else.
RelNote: "The `OnCreateDialogIncorrectCallbackDetector` no longer fails
on empty java classes/interfaces"
Test: java empty interface clean
Bug: 187524311
Change-Id: Iaff6c041370bd5a7c2ac8ef8c32a2e6f7a15e456
M fragment/fragment-lint/src/main/java/androidx/fragment/lint/OnCreateDialogIncorrectCallbackDetector.kt
M fragment/fragment-lint/src/test/java/androidx/fragment/lint/OnCreateDialogIncorrectCallbackDetectorTest.kt
an...@google.com <an...@google.com> #5
This has been fixed internally and will be available in the Fragment 1.4.0-alpha01
release.
Description
Version used: :1.0.0-beta02
Theme used: Theme.AppCompat
Devices/Android versions reproduced on: Pixel 3 XL
Crash logs:
Caused by java.lang.NullPointerException
Attempt to invoke virtual method 'boolean android.os.Bundle.getBoolean(java.lang.String, boolean)' on a null object reference
androidx.biometric.BiometricFragment.isDeviceCredentialAllowed (BiometricFragment.java:238)
androidx.biometric.BiometricPrompt$2.onPause (BiometricPrompt.java:505)
java.lang.reflect.Method.invoke (Method.java)
androidx.lifecycle.ClassesInfoCache$MethodReference.invokeCallback (ClassesInfoCache.java:216)
androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeMethodsForEvent (ClassesInfoCache.java:194)
androidx.lifecycle.ClassesInfoCache$CallbackInfo.invokeCallbacks (ClassesInfoCache.java:185)
androidx.lifecycle.ReflectiveGenericLifecycleObserver.onStateChanged (ReflectiveGenericLifecycleObserver.java:36)
androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent (LifecycleRegistry.java:361)
androidx.lifecycle.LifecycleRegistry.backwardPass (LifecycleRegistry.java:316)
androidx.lifecycle.LifecycleRegistry.sync (LifecycleRegistry.java:334)
androidx.lifecycle.LifecycleRegistry.moveToState (LifecycleRegistry.java:145)
androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent (LifecycleRegistry.java:131)
androidx.lifecycle.ReportFragment.dispatch (ReportFragment.java:123)
androidx.lifecycle.ReportFragment.onPause (ReportFragment.java:96)
android.app.Fragment.performPause (Fragment.java:2735)
android.app.FragmentManagerImpl.moveToState (FragmentManagerImpl.java:1358)
android.app.FragmentManagerImpl.moveFragmentToExpectedState (FragmentManagerImpl.java:1581)
android.app.FragmentManagerImpl.moveToState (FragmentManagerImpl.java:1642)
android.app.FragmentManagerImpl.dispatchMoveToState (FragmentManagerImpl.java:3052)
android.app.FragmentManagerImpl.dispatchPause (FragmentManagerImpl.java:3018)
android.app.FragmentController.dispatchPause (FragmentController.java:217)
android.app.Activity.performPause (Activity.java:7976)
android.app.Instrumentation.callActivityOnPause (Instrumentation.java:1507)
android.app.ActivityThread.performPauseActivityIfNeeded (ActivityThread.java:4493)
android.app.ActivityThread.performPauseActivity (ActivityThread.java:4454)
android.app.ActivityThread.handlePauseActivity (ActivityThread.java:4406)
android.app.servertransaction.PauseActivityItem.execute (PauseActivityItem.java:46)
android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176)
android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:2016)
android.os.Handler.dispatchMessage (Handler.java:107)
android.os.Looper.loop (Looper.java:214)
android.app.ActivityThread.main (ActivityThread.java:7356)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:492)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:930)