From 7aa626b59daf571e4f3e3f69cbf2ed6419b519dc Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Thu, 12 Apr 2018 14:04:09 -0700 Subject: [PATCH] Support customizing icon color for externally items. When a setting is injected to homepage, we now allow the setting provider customize the background color for its icon. If no custom bg color is provided, we fallback to existing behavior. This behavior is only needed in homepage, because we don't have any tinting logic in other pages so external setting providers can just provide arbitrary icon. Bug: 77188317 Test: robotests Change-Id: I7d4b512fafc28537de46192026ce4bbe51b498c4 --- .../settings/dashboard/DashboardAdapter.java | 16 ++++++++ .../dashboard/RoundedHomepageIcon.java | 12 ++++++ .../dashboard/DashboardAdapterTest.java | 37 ++++++++++++++++--- .../dashboard/RoundedHomepageIconTest.java | 22 ++++++++++- 4 files changed, 80 insertions(+), 7 deletions(-) diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java index 937e6dbbf2d..52ca127fec7 100644 --- a/src/com/android/settings/dashboard/DashboardAdapter.java +++ b/src/com/android/settings/dashboard/DashboardAdapter.java @@ -17,6 +17,7 @@ package com.android.settings.dashboard; import android.app.Activity; import android.content.Context; +import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.service.settings.suggestions.Suggestion; @@ -47,6 +48,7 @@ import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnSaveInstanceState; import com.android.settingslib.drawer.DashboardCategory; import com.android.settingslib.drawer.Tile; +import com.android.settingslib.drawer.TileUtils; import com.android.settingslib.suggestions.SuggestionControllerMixin; import com.android.settingslib.utils.IconCache; @@ -316,6 +318,20 @@ public class DashboardAdapter extends RecyclerView.Adapter