/Users/developer/project/sample/app/build/intermediates/javac/release/classes/com/github/sample/MainActivity.class /Users/developer/project/sample/app/build/intermediates/javac/release/classes/com/github/sample/tools/Tools$Helper.class /Users/developer/project/sample/app/build/intermediates/javac/release/classes/com/github/sample/tools/Tools$Other.class /Users/developer/project/sample/app/build/intermediates/javac/release/classes/com/github/sample/tools/Tools.class /Users/developer/project/sample/app/build/intermediates/javac/release/classes/com/github/sample/BuildConfig.class /Users/developer/project/sample/app/build/intermediates/javac/release/classes/com/github/sample/model/Conversation.class /Users/developer/project/sample/app/build/intermediates/javac/release/classes/com/github/sample/model/Message.class /Users/developer/project/sample/app/build/intermediates/javac/release/classes/com/github/sample/model/Type.class /Users/developer/project/sample/app/build/intermediates/javac/release/classes/com/github/sample/model/User.class /Users/developer/project/sample/app/build/intermediates/javac/release/classes/com/github/sample/view/MainViewModel.class /Users/developer/project/sample/app/build/intermediates/javac/release/classes/com/github/sample/view/ConversationViewHolder.class /Users/developer/project/sample/app/build/intermediates/javac/release/classes/com/github/sample/view/ConversationAdapter.class /Users/developer/project/sample/app/build/intermediates/javac/release/classes/com/github/sample/view/ConversationClickListener.class /Users/developer/project/sample/app/build/intermediates/javac/release/classes/com/github/sample/MainActivity$1.class /Users/developer/project/sample/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/release/R.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/7e4b867e2d0f6dea75bcdd697d1f69dd/material-1.3.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/0a4b14c02b458b8b0611f5c4ae8a5d44/constraintlayout-2.0.4-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/683343af73498b739e2b04bcaeaf63e3/appcompat-1.2.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/b68936747c61896fa532975bf0d39b4d/jetified-viewpager2-1.0.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/199a4d7295696d0246b6ff0076ca629c/recyclerview-1.1.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/30201beec5d4ef8e01196b5ac791b4b5/fragment-1.1.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/bdaa889975ef518124dc67650cd1f7b8/jetified-appcompat-resources-1.2.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/b7e347f4735e1b77fa91c9511430ac1a/drawerlayout-1.0.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/7864b887305f0fe13b89e7ac410b4c2e/coordinatorlayout-1.1.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/d2aa73a80f43aa6f3aec0fa0f0c612e6/viewpager-1.0.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/bce97611a2017f226f4f88307637344a/customview-1.0.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/572ddfdda97d22fe148eb2e08d685fbf/dynamicanimation-1.0.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/8ecbf1470d072d91138ce0211ab550fd/transition-1.2.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/cc24e64fbaa350d257282479bc7c2c56/vectordrawable-animated-1.1.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/9dd0b1ec597ae2718d0ae7bf4aac2744/vectordrawable-1.1.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/c1bfec2c4ec89ddf6f21624150df346a/legacy-support-core-utils-1.0.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/42b19e6e8e328e6b377b3b45a32caa8f/loader-1.0.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/98b2d5ba374afb2043774f9d2d814cc7/jetified-activity-1.0.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/d88d1516fa00724322e40364dd43f4dc/core-1.3.1-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/90ca9d2afbad29b01dc244f61e22d326/cursoradapter-1.0.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/1d70eb41c7fe34d5e9d3d0259c721615/versionedparcelable-1.1.0-api.jar /Users/developer/.gradle/caches/modules-2/files-2.1/androidx.collection/collection/1.1.0/1f27220b47669781457de0d600849a5de0e89909/collection-1.1.0.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/cabcd1a0a7b5c54b0ec6d49828ba0ecc/cardview-1.0.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/94486a50fb6342af595f510821233f45/lifecycle-runtime-2.1.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/ebe64895a6d1cc9dd3c7358395ab0491/lifecycle-viewmodel-2.1.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/07e59e7d68a214448e1fde097cea512f/jetified-savedstate-1.0.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/22e18bccaf6281e78aed52ece611a147/lifecycle-livedata-2.0.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/c1f8835cafadf8177e87e2018688fc6c/lifecycle-livedata-core-2.0.0-api.jar /Users/developer/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-common/2.1.0/c67e7807d9cd6c329b9d0218b2ec4e505dd340b7/lifecycle-common-2.1.0.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/1fe8b1e4c7213dafd2365c05c73e3350/core-runtime-2.0.0-api.jar /Users/developer/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.1.0/b3152fc64428c9354344bd89848ecddc09b6f07e/core-common-2.1.0.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/439df125e5eda74c5b0f8a313a540c59/interpolator-1.0.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/c68e7aa34aa4c98de5e3ab3926503de4/documentfile-1.0.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/ada8a46d2b7afd778ad3731a9d128b0b/localbroadcastmanager-1.0.0-api.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/0b76137a87d9f98bf509cec47c3129f4/print-1.0.0-api.jar /Users/developer/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.1.0/e3a6fb2f40e3a3842e6b7472628ba4ce416ea4c8/annotation-1.1.0.jar /Users/developer/.gradle/caches/modules-2/files-2.1/androidx.constraintlayout/constraintlayout-solver/2.0.4/1f001d7db280a89a6c26b26a66eb064bb6d5efeb/constraintlayout-solver-2.0.4.jar /Users/developer/.gradle/caches/transforms-2/files-2.1/ed4f5e49e34651c5c1122e260888ce62/jetified-annotation-experimental-1.0.0-api.jar /Users/developer/project/sample/app/src/main/java/com/github/sample/tools/Tools.java /Users/developer/project/sample/app/src/main/java/com/github/sample/MainActivity.java /Users/developer/project/sample/app/src/main/java/com/github/sample/model/Message.java /Users/developer/project/sample/app/src/main/java/com/github/sample/model/Type.java /Users/developer/project/sample/app/src/main/java/com/github/sample/model/User.java /Users/developer/project/sample/app/src/main/java/com/github/sample/model/Conversation.java /Users/developer/project/sample/app/src/main/java/com/github/sample/view/MainViewModel.java /Users/developer/project/sample/app/src/main/java/com/github/sample/view/ConversationClickListener.java /Users/developer/project/sample/app/src/main/java/com/github/sample/view/ConversationAdapter.java /Users/developer/project/sample/app/src/main/java/com/github/sample/view/ConversationViewHolder.java /Users/developer/project/sample/app/build/generated/source/buildConfig/release/com/github/sample/BuildConfig.java Possible null pointer dereference Possible null pointer dereference of MainActivity.conversationAdapter in com.github.sample.MainActivity.onCreate(Bundle) At MainActivity.java:[lines 13-39] In class com.github.sample.MainActivity In method com.github.sample.MainActivity.onCreate(Bundle) In MainActivity.java Value contained in com.github.sample.MainActivity.conversationAdapter Dereferenced at MainActivity.java:[line 29] Known null at MainActivity.java:[line 29] Method may return null, but is declared @Nonnull com.github.sample.model.Message.getProperties() may return null, but is declared @Nonnull At Message.java:[lines 20-50] In class com.github.sample.model.Message In method com.github.sample.model.Message.getProperties() In Message.java Value contained in com.github.sample.model.Message.properties Returned at Message.java:[line 45] Known null at Message.java:[line 45] Non-transient non-serializable instance field in serializable class Class com.github.sample.model.Message defines non-transient non-serializable instance field conversation At Message.java:[lines 20-50] In class com.github.sample.model.Message In Message.java Field com.github.sample.model.Message.conversation At Conversation.java:[lines 11-26] Actual type com.github.sample.model.Conversation In Message.java Non-transient non-serializable instance field in serializable class Class com.github.sample.model.Message defines non-transient non-serializable instance field sender At Message.java:[lines 20-50] In class com.github.sample.model.Message In Message.java Field com.github.sample.model.Message.sender At User.java:[lines 11-26] Actual type com.github.sample.model.User In Message.java Possible null pointer dereference Possible null pointer dereference of Tools$Helper.string in com.github.sample.tools.Tools$Helper.setText(TextView) At Tools.java:[lines 23-33] In class com.github.sample.tools.Tools$Helper In method com.github.sample.tools.Tools$Helper.setText(TextView) In Tools.java Value contained in com.github.sample.tools.Tools$Helper.string Dereferenced at Tools.java:[line 31] Known null at Tools.java:[line 31] Read of unwritten field Read of unwritten field title in com.github.sample.tools.Tools$Helper.setText(TextView) At Tools.java:[lines 23-33] In class com.github.sample.tools.Tools$Helper In method com.github.sample.tools.Tools$Helper.setText(TextView) In Tools.java Field com.github.sample.tools.Tools$Helper.title At Tools.java:[line 32] Should be a static inner class Should com.github.sample.tools.Tools$Helper be a _static_ inner class? At Tools.java:[lines 23-33] In class com.github.sample.tools.Tools$Helper At Tools.java:[lines 23-33] Unwritten field Unwritten field: com.github.sample.tools.Tools$Helper.title At Tools.java:[lines 23-33] In class com.github.sample.tools.Tools$Helper In Tools.java Field com.github.sample.tools.Tools$Helper.title At Tools.java:[line 32] Should be a static inner class Should com.github.sample.tools.Tools$Other be a _static_ inner class? At Tools.java:[lines 15-20] In class com.github.sample.tools.Tools$Other At Tools.java:[lines 15-20] Bad comparison of nonnegative value with negative constant or zero Bad comparison of nonnegative value with -1 in com.github.sample.view.ConversationAdapter.setConversations(ArrayList) At ConversationAdapter.java:[lines 9-37] In class com.github.sample.view.ConversationAdapter In method com.github.sample.view.ConversationAdapter.setConversations(ArrayList) Value -1 Return value of java.util.ArrayList.size() of type int At ConversationAdapter.java:[line 32] Bad practice Correctness Performance Possible null pointer dereference
There is a branch of statement that, if executed, guarantees that a null value will be dereferenced, which would generate a NullPointerException when the code is executed. Of course, the problem might be that the branch or statement is infeasible and that the null pointer exception can't ever be executed; deciding that is beyond the ability of SpotBugs.

]]>
Method may return null, but is declared @Nonnull
This method may return a null value, but the method (or a superclass method which it overrides) is declared to return @Nonnull.

]]>
Unwritten field
This field is never written.  All reads of it will return the default value. Check for errors (should it have been initialized?), or remove it if it is useless.

]]>
Read of unwritten field
The program is dereferencing a field that does not seem to ever have a non-null value written to it. Unless the field is initialized via some mechanism not seen by the analysis, dereferencing this value will generate a null pointer exception.

]]>
Should be a static inner class
This class is an inner class, but does not use its embedded reference to the object which created it.  This reference makes the instances of the class larger, and may keep the reference to the creator object alive longer than necessary.  If possible, the class should be made static.

]]>
Non-transient non-serializable instance field in serializable class
This Serializable class defines a non-primitive instance field which is neither transient, Serializable, or java.lang.Object, and does not appear to implement the Externalizable interface or the readObject() and writeObject() methods.  Objects of this class will not be deserialized correctly if a non-Serializable object is stored in this field.

]]>
Bad comparison of nonnegative value with negative constant or zero
This code compares a value that is guaranteed to be non-negative with a negative constant or zero.

]]>
Null pointer dereference Incorrect definition of Serializable class Unwritten field Inner class could be made static Suspicious integer expression android.app.Activity android.util.Log android.view.View android.widget.TextView