From e7337b3ec7badcbd577e10ac5b5e9e9f8845e51c Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Tue, 26 Sep 2017 15:57:25 -0700 Subject: [PATCH] Bind icon and remote views for Suggestion Bug: 65065268 Test: robotests Change-Id: I181a9e092c56f4e45addfc1cde166fb7dac7becd --- .../settings/dashboard/DashboardAdapter.java | 3 +++ .../suggestions/SuggestionAdapter.java | 3 +-- .../settings/suggestions/Suggestion.java | 27 ++++++++++++++----- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java index 600b23b46b4..9c61873cb99 100644 --- a/src/com/android/settings/dashboard/DashboardAdapter.java +++ b/src/com/android/settings/dashboard/DashboardAdapter.java @@ -601,6 +601,9 @@ public class DashboardAdapter extends RecyclerView.Adapter // itemView)); // } else { - // TODO: Add icon field in Suggestion, and enable this. - // holder.icon.setImageDrawable(mCache.getIcon(suggestion.icon)); + holder.icon.setImageDrawable(mCache.getIcon(suggestion.getIcon())); holder.title.setText(suggestion.getTitle()); final CharSequence summary = suggestion.getSummary(); if (!TextUtils.isEmpty(summary)) { diff --git a/tests/robotests/src/android/service/settings/suggestions/Suggestion.java b/tests/robotests/src/android/service/settings/suggestions/Suggestion.java index 2bb6192c647..750bc059486 100644 --- a/tests/robotests/src/android/service/settings/suggestions/Suggestion.java +++ b/tests/robotests/src/android/service/settings/suggestions/Suggestion.java @@ -17,13 +17,16 @@ package android.service.settings.suggestions; import android.app.PendingIntent; +import android.graphics.drawable.Icon; import android.os.Parcel; import android.text.TextUtils; +import android.widget.RemoteViews; public class Suggestion { private final String mId; private final CharSequence mTitle; private final CharSequence mSummary; + private final Icon mIcon; private final PendingIntent mPendingIntent; /** @@ -47,6 +50,13 @@ public class Suggestion { return mSummary; } + /** + * Optional icon for this suggestion. + */ + public Icon getIcon() { + return mIcon; + } + /** * The Intent to launch when the suggestion is activated. */ @@ -57,17 +67,11 @@ public class Suggestion { private Suggestion(Builder builder) { mTitle = builder.mTitle; mSummary = builder.mSummary; + mIcon = builder.mIcon; mPendingIntent = builder.mPendingIntent; mId = builder.mId; } - private Suggestion(Parcel in) { - mId = in.readString(); - mTitle = in.readCharSequence(); - mSummary = in.readCharSequence(); - mPendingIntent = in.readParcelable(PendingIntent.class.getClassLoader()); - } - /** * Builder class for {@link Suggestion}. */ @@ -75,6 +79,7 @@ public class Suggestion { private final String mId; private CharSequence mTitle; private CharSequence mSummary; + private Icon mIcon; private PendingIntent mPendingIntent; public Builder(String id) { @@ -101,6 +106,14 @@ public class Suggestion { return this; } + /** + * Sets icon for the suggestion. + */ + public Builder setIcon(Icon icon) { + mIcon = icon; + return this; + } + /** * Sets suggestion intent */