From 88125ef7daf6bdfce26346572df871ee1146529c Mon Sep 17 00:00:00 2001 From: Konrad Pozniak Date: Wed, 7 Dec 2022 19:34:54 +0100 Subject: [PATCH] fix crash in TouchDelegateHelper when not all views are available (#3016) * fix crash in TouchDelegateHelper when not all views are available * filter views before passing to TouchDelegateHelper * remove unused import * fix indentation --- .../tusky/adapter/StatusBaseViewHolder.java | 3 +-- .../tusky/util/TouchDelegateHelper.kt | 21 +++++++++++++++---- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java index e16c4d38..949ae851 100644 --- a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java +++ b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java @@ -64,7 +64,6 @@ import com.keylesspalace.tusky.viewdata.PollViewDataKt; import com.keylesspalace.tusky.viewdata.StatusViewData; import java.text.NumberFormat; -import java.util.Arrays; import java.util.Date; import java.util.List; @@ -173,7 +172,7 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder { mediaPreviewUnloaded = new ColorDrawable(ThemeUtils.getColor(itemView.getContext(), R.attr.colorBackgroundAccent)); - TouchDelegateHelper.expandTouchSizeToFillRow((ViewGroup) itemView, Arrays.asList(replyButton, reblogButton, favouriteButton, bookmarkButton, moreButton)); + TouchDelegateHelper.expandTouchSizeToFillRow((ViewGroup) itemView, CollectionsKt.listOfNotNull(replyButton, reblogButton, favouriteButton, bookmarkButton, moreButton)); } protected void setDisplayName(String name, List customEmojis, StatusDisplayOptions statusDisplayOptions) { diff --git a/app/src/main/java/com/keylesspalace/tusky/util/TouchDelegateHelper.kt b/app/src/main/java/com/keylesspalace/tusky/util/TouchDelegateHelper.kt index dc382851..a1410168 100644 --- a/app/src/main/java/com/keylesspalace/tusky/util/TouchDelegateHelper.kt +++ b/app/src/main/java/com/keylesspalace/tusky/util/TouchDelegateHelper.kt @@ -1,3 +1,18 @@ +/* Copyright 2022 Tusky contributors + + * This file is a part of Tusky. + * + * This program is free software; you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation; either version 3 of the + * License, or (at your option) any later version. + * + * Tusky is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + * Public License for more details. + * + * You should have received a copy of the GNU General Public License along with Tusky; if not, + * see . */ + @file:JvmName("TouchDelegateHelper") package com.keylesspalace.tusky.util @@ -39,13 +54,11 @@ private class CompositeTouchDelegate(view: View, private val delegates: List event.setLocation(x, y) - res = delegate.onTouchEvent(event) || res + delegate.onTouchEvent(event) || res } - return res } }