Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec9606ad authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix layout height for suggestion tile." into pi-dev

parents 7c2713cb 8f5773b8
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -29,7 +29,8 @@

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="112dp"
        android:layout_height="wrap_content"
        android:minHeight="112dp"
        android:paddingBottom="8dp"
        android:orientation="vertical">

+2 −1
Original line number Diff line number Diff line
@@ -29,7 +29,8 @@

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="160dp"
        android:layout_height="wrap_content"
        android:minHeight="160dp"
        android:orientation="vertical">

        <RelativeLayout
+1 −1
Original line number Diff line number Diff line
@@ -119,7 +119,7 @@ public class SuggestionAdapter extends RecyclerView.Adapter<DashboardItemHolder>
        }
        final Icon icon = suggestion.getIcon();
        final Drawable drawable = mCache.getIcon(icon);
        if (drawable != null) {
        if (drawable != null && (suggestion.getFlags() & Suggestion.FLAG_ICON_TINTABLE) != 0) {
            drawable.setTint(Utils.getColorAccent(mContext));
        }
        holder.icon.setImageDrawable(drawable);
+29 −1
Original line number Diff line number Diff line
@@ -231,12 +231,40 @@ public class SuggestionAdapterTest {
    }

    @Test
    public void onBindViewHolder_shouldTintIcon() throws PendingIntent.CanceledException {
    public void onBindViewHolder_iconNotTintable_shouldNotTintIcon()
            throws PendingIntent.CanceledException {
        final Icon icon = mock(Icon.class);
        final Suggestion suggestion = new Suggestion.Builder("pkg1")
            .setPendingIntent(mock(PendingIntent.class))
            .setIcon(icon)
            .build();
        final List<Suggestion> suggestions = new ArrayList<>();
        suggestions.add(suggestion);
        mSuggestionAdapter = new SuggestionAdapter(mActivity, mSuggestionControllerMixin,
            null /* savedInstanceState */, null /* callback */, null /* lifecycle */);
        mSuggestionAdapter.setSuggestions(suggestions);
        mSuggestionHolder = mSuggestionAdapter.onCreateViewHolder(
            new FrameLayout(RuntimeEnvironment.application),
            mSuggestionAdapter.getItemViewType(0));
        IconCache cache = mock(IconCache.class);
        final Drawable drawable = mock(Drawable.class);
        when(cache.getIcon(icon)).thenReturn(drawable);
        ReflectionHelpers.setField(mSuggestionAdapter, "mCache", cache);

        mSuggestionAdapter.onBindViewHolder(mSuggestionHolder, 0);

        verify(drawable, never()).setTint(anyInt());
    }

    @Test
    public void onBindViewHolder_iconTintable_shouldTintIcon()
            throws PendingIntent.CanceledException {
        final Icon icon = mock(Icon.class);
        final int FLAG_ICON_TINTABLE = 1 << 1;
        final Suggestion suggestion = new Suggestion.Builder("pkg1")
            .setPendingIntent(mock(PendingIntent.class))
            .setIcon(icon)
            .setFlags(FLAG_ICON_TINTABLE)
            .build();
        final List<Suggestion> suggestions = new ArrayList<>();
        suggestions.add(suggestion);