From d9280d3d98a39b77709123e297327c98db6ae4e7 Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Fri, 23 Dec 2022 11:16:53 +0100 Subject: [PATCH] avoid NPE in processAutocompleteUserList did not test why this can happen. autocompleteUser.id must have been null.. Exception java.lang.NullPointerException: at com.nextcloud.talk.controllers.ContactsController.processAutocompleteUserList (ContactsController.kt:498) at com.nextcloud.talk.controllers.ContactsController.processAutocompleteUserList (ContactsController.kt:482) at com.nextcloud.talk.controllers.ContactsController.access$processAutocompleteUserList (ContactsController.kt:90) at com.nextcloud.talk.controllers.ContactsController$fetchData$1.onNext (ContactsController.kt:438) at com.nextcloud.talk.controllers.ContactsController$fetchData$1.onNext (ContactsController.kt:432) at io.reactivex.internal.operators.observable.ObservableRetryPredicate$RepeatObserver.onNext (ObservableRetryPredicate.java:69) at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal (ObservableObserveOn.java:201) at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run (ObservableObserveOn.java:255) at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run (HandlerScheduler.java:124) at android.os.Handler.handleCallback (Handler.java:883) at android.os.Handler.dispatchMessage (Handler.java:100) at android.os.Looper.loop (Looper.java:237) at android.app.ActivityThread.main (ActivityThread.java:7948) at java.lang.reflect.Method.invoke at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1075) Signed-off-by: Marcel Hibbe --- .../com/nextcloud/talk/controllers/ContactsController.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.kt b/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.kt index fa8dfb468..cbe6c7242 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.kt @@ -130,13 +130,12 @@ class ContactsController(args: Bundle) : setHasOptionsMenu(true) sharedApplication!!.componentApplication.inject(this) + existingParticipants = ArrayList() if (args.containsKey(BundleKeys.KEY_NEW_CONVERSATION)) { isNewConversationView = true - existingParticipants = ArrayList() } else if (args.containsKey(BundleKeys.KEY_ADD_PARTICIPANTS)) { isAddingParticipantsView = true conversationToken = args.getString(BundleKeys.KEY_TOKEN) - existingParticipants = ArrayList() if (args.containsKey(BundleKeys.KEY_EXISTING_PARTICIPANTS)) { existingParticipants = args.getStringArrayList(BundleKeys.KEY_EXISTING_PARTICIPANTS) } @@ -497,8 +496,9 @@ class ContactsController(args: Bundle) : val actorTypeConverter = EnumActorTypeConverter() val newUserItemList: MutableList> = ArrayList>() for (autocompleteUser in autocompleteUsersList) { - if (autocompleteUser.id != currentUser!!.userId && - !existingParticipants!!.contains(autocompleteUser.id!!) + if (autocompleteUser.id != null && + autocompleteUser.id != currentUser!!.userId && + !existingParticipants!!.contains(autocompleteUser.id) ) { participant = createParticipant(autocompleteUser, actorTypeConverter) val headerTitle = getHeaderTitle(participant)