From 797642b972bb0ed664717f69a7920abbced18aec Mon Sep 17 00:00:00 2001 From: sk Date: Tue, 21 Mar 2023 09:56:44 +0100 Subject: [PATCH] fix profile fragment crash closes sk22#469 --- .../android/fragments/ProfileFragment.java | 1 + .../android/fragments/RecyclerFragment.java | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java index 7705b47c4..4cd713ff3 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ProfileFragment.java @@ -439,6 +439,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList toolbarTitleView.setTranslationY(titleTransY); toolbarSubtitleView.setTranslationY(titleTransY); } + RecyclerFragment.setRefreshLayoutColors(refreshLayout); } @Override diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/RecyclerFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/RecyclerFragment.java index b5e0923af..2dbc9650b 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/RecyclerFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/RecyclerFragment.java @@ -4,6 +4,8 @@ import android.content.Context; import android.os.Bundle; import android.view.View; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; + import org.joinmastodon.android.R; import org.joinmastodon.android.ui.utils.UiUtils; @@ -25,7 +27,10 @@ public abstract class RecyclerFragment extends BaseRecyclerFragment { public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); - Context ctx = getContext(); + if (refreshLayout != null) setRefreshLayoutColors(refreshLayout); + } + + public static void setRefreshLayoutColors(SwipeRefreshLayout l) { List colors = new ArrayList<>(Arrays.asList( R.color.primary_600, R.color.red_primary_600, @@ -33,13 +38,13 @@ public abstract class RecyclerFragment extends BaseRecyclerFragment { R.color.blue_primary_600, R.color.purple_600 )); - int primary = UiUtils.getThemeColorRes(ctx, R.attr.colorPrimary600); + int primary = UiUtils.getThemeColorRes(l.getContext(), R.attr.colorPrimary600); if (!colors.contains(primary)) colors.add(0, primary); int offset = colors.indexOf(primary); int[] sorted = new int[colors.size()]; for (int i = 0; i < colors.size(); i++) { sorted[i] = colors.get((i + offset) % colors.size()); } - refreshLayout.setColorSchemeResources(sorted); + l.setColorSchemeResources(sorted); } }