Merge "Update suggestion UI"
diff --git a/res/layout/suggestion_container.xml b/res/layout/suggestion_container.xml
index 640a91f..409f39e 100644
--- a/res/layout/suggestion_container.xml
+++ b/res/layout/suggestion_container.xml
@@ -20,7 +20,7 @@
     style="@style/SuggestionConditionStyle"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:paddingTop="12dp"
+    android:paddingTop="10dp"
     android:orientation="vertical">
 
     <LinearLayout
@@ -55,8 +55,8 @@
         android:id="@+id/suggestion_list"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:paddingTop="14dp"
-        android:paddingBottom="16dp"
+        android:paddingTop="12dp"
+        android:paddingBottom="13dp"
         android:scrollbars="none"/>
 
 </LinearLayout>
diff --git a/res/layout/suggestion_tile.xml b/res/layout/suggestion_tile.xml
index 79f6dca..fa3f3af 100644
--- a/res/layout/suggestion_tile.xml
+++ b/res/layout/suggestion_tile.xml
@@ -64,7 +64,7 @@
             android:layout_marginStart="12dp"
             android:layout_marginEnd="12dp"
             android:singleLine="true"
-            android:textAppearance="@style/TextAppearance.SuggestionTitleV2"
+            android:textAppearance="@style/TextAppearance.SuggestionTitle"
             android:ellipsize="end"
             android:fadingEdge="horizontal" />
 
diff --git a/res/layout/suggestion_tile_with_button.xml b/res/layout/suggestion_tile_with_button.xml
index a674bcb..de3494a 100644
--- a/res/layout/suggestion_tile_with_button.xml
+++ b/res/layout/suggestion_tile_with_button.xml
@@ -64,7 +64,7 @@
             android:layout_marginStart="12dp"
             android:layout_marginEnd="12dp"
             android:singleLine="true"
-            android:textAppearance="@style/TextAppearance.SuggestionTitleV2"
+            android:textAppearance="@style/TextAppearance.SuggestionTitle"
             android:ellipsize="end"
             android:fadingEdge="horizontal" />
 
@@ -84,6 +84,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="12dp"
+            android:layout_marginBottom="18dp"
             android:text="@string/suggestion_button_text" />
 
     </LinearLayout>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 12193c4..98afa5a 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -307,7 +307,7 @@
     <dimen name="suggestion_card_width_one_card">332dp</dimen>
     <dimen name="suggestion_card_width_two_cards">162dp</dimen>
     <dimen name="suggestion_card_width_multiple_cards">156dp</dimen>
-    <dimen name="suggestion_card_outer_margin">16dp</dimen>
+    <dimen name="suggestion_card_outer_margin">14dp</dimen>
     <dimen name="suggestion_card_inner_margin">12dp</dimen>
     <dimen name="suggestion_card_padding_bottom_one_card">16dp</dimen>
     <dimen name="suggestion_card_corner_radius">2dp</dimen>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index b672247..b436355 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -318,7 +318,6 @@
 
     <style name="TextAppearance.SuggestionHeader"
            parent="@android:style/TextAppearance.Material.Subhead">
-        <item name="android:fontFamily">@config/config_headlineFontFamilyMedium</item>
         <item name="android:textSize">14sp</item>
         <item name="android:textColor">?android:attr/colorAccent</item>
     </style>
@@ -334,12 +333,7 @@
 
     <style name="TextAppearance.SuggestionTitle"
            parent="@android:style/TextAppearance.Material.Subhead">
-        <item name="android:fontFamily">sans-serif-medium</item>
-    </style>
-
-    <style name="TextAppearance.SuggestionTitleV2"
-           parent="@android:style/TextAppearance.Material.Subhead">
-        <item name="android:fontFamily">@config/config_headlineFontFamily</item>
+        <item name="android:textSize">16sp</item>
     </style>
 
     <style name="TextAppearance.SuggestionSummary" parent="TextAppearance.Small">
@@ -474,7 +468,6 @@
 
     <style name="TextAppearance.SearchBar" parent="@android:style/TextAppearance.Material.Widget.Toolbar.Subtitle">
         <item name="android:textSize">@dimen/search_bar_text_size</item>
-        <item name="android:fontFamily">@config/config_headlineFontFamily</item>
     </style>
 
     <style name="device_info_dialog_label">
diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java
index 8646683..007b66b 100644
--- a/src/com/android/settings/dashboard/DashboardAdapter.java
+++ b/src/com/android/settings/dashboard/DashboardAdapter.java
@@ -17,6 +17,7 @@
 
 import android.app.Activity;
 import android.content.Context;
+import android.graphics.Typeface;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.Icon;
 import android.os.Bundle;
@@ -303,8 +304,13 @@
         final List<Suggestion> suggestions =
             (List<Suggestion>) mDashboardData.getItemEntityByPosition(position);
         final int suggestionCount = suggestions.size();
+        final Typeface fontMedium = Typeface.create(
+            mContext.getString(com.android.internal.R.string.config_headlineFontFamilyMedium),
+            Typeface.NORMAL);
+        holder.title.setTypeface(fontMedium);
         if (suggestions != null && suggestionCount > 0) {
             holder.summary.setText("" + suggestionCount);
+            holder.summary.setTypeface(fontMedium);
             mSuggestionAdapter.setSuggestions(suggestions);
             holder.data.setAdapter(mSuggestionAdapter);
         }
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java b/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java
index 9bcf2a2..62bc148 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java
@@ -18,6 +18,7 @@
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.res.Resources;
+import android.graphics.Typeface;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.Icon;
 import android.os.Bundle;
@@ -122,6 +123,9 @@
         holder.icon.setImageDrawable(drawable);
         holder.title.setText(suggestion.getTitle());
         holder.title.setSingleLine(suggestionCount == 1);
+        holder.title.setTypeface(Typeface.create(
+            mContext.getString(com.android.internal.R.string.config_headlineFontFamilyMedium),
+            Typeface.NORMAL));
 
         if (suggestionCount == 1) {
             final CharSequence summary = suggestion.getSummary();
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java
index 2d22e04..d25969e 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java
@@ -115,6 +115,7 @@
         final View itemView = mock(View.class);
         when(itemView.findViewById(R.id.suggestion_list)).thenReturn(data);
         when(itemView.findViewById(android.R.id.summary)).thenReturn(mock(TextView.class));
+        when(itemView.findViewById(android.R.id.title)).thenReturn(mock(TextView.class));
         final DashboardAdapter.SuggestionContainerHolder holder =
             new DashboardAdapter.SuggestionContainerHolder(itemView);
 
@@ -138,6 +139,7 @@
         final View itemView = mock(View.class);
         when(itemView.findViewById(R.id.suggestion_list)).thenReturn(data);
         when(itemView.findViewById(android.R.id.summary)).thenReturn(mock(TextView.class));
+        when(itemView.findViewById(android.R.id.title)).thenReturn(mock(TextView.class));
         final DashboardAdapter.SuggestionContainerHolder holder =
             new DashboardAdapter.SuggestionContainerHolder(itemView);
         final List<Suggestion> suggestions = makeSuggestionsV2("pkg1", "pkg2", "pkg3", "pkg4");
@@ -188,6 +190,7 @@
         final View itemView = mock(View.class);
         when(itemView.findViewById(R.id.suggestion_list)).thenReturn(data);
         when(itemView.findViewById(android.R.id.summary)).thenReturn(mock(TextView.class));
+        when(itemView.findViewById(android.R.id.title)).thenReturn(mock(TextView.class));
         final DashboardAdapter.SuggestionContainerHolder holder =
             new DashboardAdapter.SuggestionContainerHolder(itemView);
 
@@ -213,6 +216,7 @@
         when(itemView.findViewById(R.id.suggestion_list)).thenReturn(data);
         final TextView summary = mock(TextView.class);
         when(itemView.findViewById(android.R.id.summary)).thenReturn(summary);
+        when(itemView.findViewById(android.R.id.title)).thenReturn(mock(TextView.class));
         final DashboardAdapter.SuggestionContainerHolder holder =
             new DashboardAdapter.SuggestionContainerHolder(itemView);
 
diff --git a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java
index 825aee9..fc773a7 100644
--- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java
@@ -19,6 +19,7 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
@@ -76,7 +77,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
+        mContext = spy(RuntimeEnvironment.application);
         mFeatureFactory = FakeFeatureFactory.setupForTest();
 
         final Suggestion suggestion1 = new Suggestion.Builder("id1")
@@ -136,6 +137,7 @@
         mSuggestionAdapter = new SuggestionAdapter(mContext, mSuggestionControllerMixin,
             null /* savedInstanceState */, null /* callback */, null /* lifecycle */);
         mSuggestionAdapter.setSuggestions(mOneSuggestion);
+        doReturn("sans").when(mContext).getString(anyInt());
 
         // Bind twice
         mSuggestionAdapter.onBindViewHolder(mSuggestionHolder, 0);
@@ -177,6 +179,7 @@
         mSuggestionHolder = mSuggestionAdapter.onCreateViewHolder(
             new FrameLayout(RuntimeEnvironment.application),
             mSuggestionAdapter.getItemViewType(0));
+        doReturn("sans").when(mContext).getString(anyInt());
 
         mSuggestionAdapter.onBindViewHolder(mSuggestionHolder, 0);
         mSuggestionHolder.itemView.findViewById(android.R.id.primary).performClick();