diff --git a/src/com/android/settings/PhotosDeletionPreference.java b/src/com/android/settings/PhotosDeletionPreference.java
index 8c98370..643b3f1 100644
--- a/src/com/android/settings/PhotosDeletionPreference.java
+++ b/src/com/android/settings/PhotosDeletionPreference.java
@@ -26,8 +26,7 @@
  * Preference to handle the deletion of photos and videos in the Deletion Helper.
  */
 public class PhotosDeletionPreference extends DeletionPreference {
-    // TODO(b/28560570): Remove this dummy value.
-    private static final int FAKE_DAYS_TO_KEEP = 30;
+    public static final int DAYS_TO_KEEP = 30;
 
     public PhotosDeletionPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
@@ -42,7 +41,7 @@
         Context context = getContext();
         setTitle(context.getString(R.string.deletion_helper_photos_title, items));
         setSummary(context.getString(R.string.deletion_helper_photos_summary,
-                Formatter.formatFileSize(context, bytes), FAKE_DAYS_TO_KEEP));
+                Formatter.formatFileSize(context, bytes), DAYS_TO_KEEP));
     }
 
     @Override
diff --git a/src/com/android/settings/deletionhelper/DeletionHelperFragment.java b/src/com/android/settings/deletionhelper/DeletionHelperFragment.java
index cc1a084..5f974f3 100644
--- a/src/com/android/settings/deletionhelper/DeletionHelperFragment.java
+++ b/src/com/android/settings/deletionhelper/DeletionHelperFragment.java
@@ -92,7 +92,7 @@
         mProvider =
                 FeatureFactory.getFactory(app).getDeletionHelperFeatureProvider();
         if (mProvider != null) {
-            mPhotoVideoDeletion = mProvider.createPhotoVideoDeletionType();
+            mPhotoVideoDeletion = mProvider.createPhotoVideoDeletionType(getContext());
         }
         mDownloadsDeletion = new DownloadsDeletionType(getActivity());
 
diff --git a/src/com/android/settings/overlay/DeletionHelperFeatureProvider.java b/src/com/android/settings/overlay/DeletionHelperFeatureProvider.java
index 39b1edf..15b5896 100644
--- a/src/com/android/settings/overlay/DeletionHelperFeatureProvider.java
+++ b/src/com/android/settings/overlay/DeletionHelperFeatureProvider.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.overlay;
 
+import android.content.Context;
 import android.support.v7.preference.PreferenceGroup;
 import com.android.settings.deletionhelper.DeletionType;
 
@@ -26,5 +27,5 @@
     /**
      * Creates a {@link DeletionType} for clearing out stored photos and videos on the device.
      */
-    DeletionType createPhotoVideoDeletionType();
+    DeletionType createPhotoVideoDeletionType(Context context);
 }
