From 1c881baa9c0489553df12bed8f84c6d9e9668af1 Mon Sep 17 00:00:00 2001
From: mueller-ma <1203529-mueller-ma@users.noreply.gitlab.com>
Date: Tue, 9 Apr 2019 21:26:32 +0000
Subject: [PATCH] Color swipe to refresh indicator

---
 .../fdroid/fdroid/views/main/CategoriesViewBinder.java    | 2 ++
 app/src/main/java/org/fdroid/fdroid/Utils.java            | 8 ++++++++
 .../org/fdroid/fdroid/views/main/WhatsNewViewBinder.java  | 1 +
 .../fdroid/fdroid/views/updates/UpdatesViewBinder.java    | 2 ++
 4 files changed, 13 insertions(+)

diff --git a/app/src/full/java/org/fdroid/fdroid/views/main/CategoriesViewBinder.java b/app/src/full/java/org/fdroid/fdroid/views/main/CategoriesViewBinder.java
index 8c0d8e4a0..874390bba 100644
--- a/app/src/full/java/org/fdroid/fdroid/views/main/CategoriesViewBinder.java
+++ b/app/src/full/java/org/fdroid/fdroid/views/main/CategoriesViewBinder.java
@@ -18,6 +18,7 @@ import android.widget.TextView;
 import org.fdroid.fdroid.Preferences;
 import org.fdroid.fdroid.R;
 import org.fdroid.fdroid.UpdateService;
+import org.fdroid.fdroid.Utils;
 import org.fdroid.fdroid.data.CategoryProvider;
 import org.fdroid.fdroid.data.Schema;
 import org.fdroid.fdroid.views.apps.AppListActivity;
@@ -60,6 +61,7 @@ class CategoriesViewBinder implements LoaderManager.LoaderCallbacks<Cursor> {
 
         final SwipeRefreshLayout swipeToRefresh =
                 (SwipeRefreshLayout) categoriesView.findViewById(R.id.swipe_to_refresh);
+        Utils.applySwipeLayoutColors(swipeToRefresh);
         swipeToRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
             @Override
             public void onRefresh() {
diff --git a/app/src/main/java/org/fdroid/fdroid/Utils.java b/app/src/main/java/org/fdroid/fdroid/Utils.java
index 392699f72..34bbc664c 100644
--- a/app/src/main/java/org/fdroid/fdroid/Utils.java
+++ b/app/src/main/java/org/fdroid/fdroid/Utils.java
@@ -33,6 +33,7 @@ import android.os.StatFs;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.annotation.RequiresApi;
+import android.support.v4.widget.SwipeRefreshLayout;
 import android.text.Editable;
 import android.text.Html;
 import android.text.SpannableStringBuilder;
@@ -862,4 +863,11 @@ public final class Utils {
             }
         });
     }
+
+    public static void applySwipeLayoutColors(SwipeRefreshLayout swipeLayout) {
+        TypedValue typedValue = new TypedValue();
+        Resources.Theme theme = swipeLayout.getContext().getTheme();
+        theme.resolveAttribute(R.attr.colorPrimary, typedValue, true);
+        swipeLayout.setColorSchemeColors(typedValue.data);
+    }
 }
diff --git a/app/src/main/java/org/fdroid/fdroid/views/main/WhatsNewViewBinder.java b/app/src/main/java/org/fdroid/fdroid/views/main/WhatsNewViewBinder.java
index 2bb288385..4178eced2 100644
--- a/app/src/main/java/org/fdroid/fdroid/views/main/WhatsNewViewBinder.java
+++ b/app/src/main/java/org/fdroid/fdroid/views/main/WhatsNewViewBinder.java
@@ -64,6 +64,7 @@ class WhatsNewViewBinder implements LoaderManager.LoaderCallbacks<Cursor> {
 
         final SwipeRefreshLayout swipeToRefresh = (SwipeRefreshLayout) whatsNewView
                 .findViewById(R.id.swipe_to_refresh);
+        Utils.applySwipeLayoutColors(swipeToRefresh);
         swipeToRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
             @Override
             public void onRefresh() {
diff --git a/app/src/main/java/org/fdroid/fdroid/views/updates/UpdatesViewBinder.java b/app/src/main/java/org/fdroid/fdroid/views/updates/UpdatesViewBinder.java
index 295f3ccf0..4e763741b 100644
--- a/app/src/main/java/org/fdroid/fdroid/views/updates/UpdatesViewBinder.java
+++ b/app/src/main/java/org/fdroid/fdroid/views/updates/UpdatesViewBinder.java
@@ -12,6 +12,7 @@ import android.widget.TextView;
 
 import org.fdroid.fdroid.R;
 import org.fdroid.fdroid.UpdateService;
+import org.fdroid.fdroid.Utils;
 
 public class UpdatesViewBinder {
 
@@ -38,6 +39,7 @@ public class UpdatesViewBinder {
         emptyImage = (ImageView) view.findViewById(R.id.image);
 
         final SwipeRefreshLayout swipeToRefresh = (SwipeRefreshLayout) view.findViewById(R.id.swipe_to_refresh);
+        Utils.applySwipeLayoutColors(swipeToRefresh);
         swipeToRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
             @Override
             public void onRefresh() {