diff --git a/res/layout/storage_summary_donut.xml b/res/layout/storage_summary_donut.xml
index 0266879..585fbf4 100644
--- a/res/layout/storage_summary_donut.xml
+++ b/res/layout/storage_summary_donut.xml
@@ -42,8 +42,7 @@
             android:layout_height="wrap_content"
             android:singleLine="true"
             android:textAlignment="viewStart"
-            android:textAppearance="@android:style/TextAppearance.Material.Subhead"
-            android:textColor="?android:attr/colorAccent"
+            android:textAppearance="@android:style/TextAppearance.Material.Display1"
             android:textSize="36sp" />
 
         <TextView
@@ -70,7 +69,7 @@
         android:id="@+id/donut"
         android:layout_width="112dp"
         android:layout_height="112dp"
-        android:layout_marginEnd="16dp"
+        android:layout_marginEnd="32dp"
         android:gravity="end|center_vertical"
         android:minWidth="58dp"
         android:paddingStart="?android:attr/listPreferredItemPaddingStart"
diff --git a/res/xml/storage_profile_fragment.xml b/res/xml/storage_profile_fragment.xml
index 0485279..be269e5 100644
--- a/res/xml/storage_profile_fragment.xml
+++ b/res/xml/storage_profile_fragment.xml
@@ -35,15 +35,18 @@
         android:order="4" />
     <com.android.settings.deviceinfo.StorageItemPreference
         android:key="pref_movies"
-        android:title="@string/storage_movies_tv" />
+        android:title="@string/storage_movies_tv"
+        android:icon="@drawable/ic_theaters_vd_theme_24"
+        android:order="5"
+    />
     <com.android.settings.deviceinfo.StorageItemPreference
         android:key="pref_other_apps"
         android:title="@string/storage_other_apps"
         android:icon="@drawable/ic_apps_vd_theme_24"
-        android:order="5" />
+        android:order="6" />
     <com.android.settings.deviceinfo.StorageItemPreference
         android:key="pref_files"
         android:title="@string/storage_files"
         android:icon="@drawable/ic_folder_vd_theme_24"
-        android:order="6" />
+        android:order="7" />
 </PreferenceScreen>
diff --git a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
index 4ce785a..f8df375 100644
--- a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
@@ -196,6 +196,7 @@
 
         PackageManager pm = mContext.getPackageManager();
         badgePreference(pm, userHandle, mPhotoPreference);
+        badgePreference(pm, userHandle, mMoviesPreference);
         badgePreference(pm, userHandle, mAudioPreference);
         badgePreference(pm, userHandle, mGamePreference);
         badgePreference(pm, userHandle, mAppPreference);
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
index bc42d1f..e8057a6 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
@@ -298,6 +298,8 @@
     public void settingUserIdAppliesNewIcons() {
         StorageItemPreference audio = spy(new StorageItemPreference(mContext));
         audio.setIcon(R.drawable.ic_photo_library_vd_theme_24);
+        StorageItemPreference video = spy(new StorageItemPreference(mContext));
+        video.setIcon(R.drawable.ic_photo_library_vd_theme_24);
         StorageItemPreference image = spy(new StorageItemPreference(mContext));
         image.setIcon(R.drawable.ic_photo_library_vd_theme_24);
         StorageItemPreference games = spy(new StorageItemPreference(mContext));
@@ -312,6 +314,8 @@
         when(screen.findPreference(
                 eq(StorageItemPreferenceController.AUDIO_KEY))).thenReturn(audio);
         when(screen.findPreference(
+                eq(StorageItemPreferenceController.MOVIES_KEY))).thenReturn(video);
+        when(screen.findPreference(
                 eq(StorageItemPreferenceController.PHOTO_KEY))).thenReturn(image);
         when(screen.findPreference(
                 eq(StorageItemPreferenceController.GAME_KEY))).thenReturn(games);
@@ -326,6 +330,7 @@
         mController.setUserId(new UserHandle(10));
 
         verify(audio, times(2)).setIcon(any(Drawable.class));
+        verify(video, times(2)).setIcon(any(Drawable.class));
         verify(image, times(2)).setIcon(any(Drawable.class));
         verify(games, times(2)).setIcon(any(Drawable.class));
         verify(apps, times(2)).setIcon(any(Drawable.class));
