Fixed
Status Update
Comments
la...@gmail.com <la...@gmail.com> #2
Stacktrace with the dump():
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
at androidx.fragment.app.FragmentManager.toString(FragmentManager.java:998)
at java.lang.String.valueOf(String.java:2924)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at androidx.fragment.app.Fragment.dump(Fragment.java:2642)
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
at androidx.fragment.app.FragmentManager.toString(FragmentManager.java:998)
at java.lang.String.valueOf(String.java:2924)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at androidx.fragment.app.Fragment.dump(Fragment.java:2642)
il...@google.com <il...@google.com> #3
This was fixed internally in
Description
Version used: androidx.fragment:fragment:1.2.0
Devices/Android versions reproduced on:
Calling FragmentManager toString() when it is not attached to an Activity crashes with NPE since mHost is null here:
@NonNull
@Override
public String toString() {
StringBuilder sb = new StringBuilder(128);
sb.append("FragmentManager{");
sb.append(Integer.toHexString(System.identityHashCode(this)));
sb.append(" in ");
if (mParent != null) {
Class<?> cls = mParent.getClass();
sb.append(cls.getSimpleName());
sb.append("{");
sb.append(Integer.toHexString(System.identityHashCode(mParent)));
sb.append("}");
} else {
Class<?> cls = mHost.getClass();
sb.append(cls.getSimpleName());
sb.append("{");
sb.append(Integer.toHexString(System.identityHashCode(mHost)));
sb.append("}");
}
sb.append("}}");
return sb.toString();
}
Originally detected with a dirty hack of dump()ing a Fragment to detect if it's in backstack or not, as in