Merge "Add blob size to shared data dev options screens." into rvc-dev am: eef7b5e7e3 am: 7014feb9a7

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11764432

Change-Id: I3cce0bee52484922bba9198ecffbed08dbe53a29
diff --git a/res/layout/blob_list_item_view.xml b/res/layout/blob_list_item_view.xml
index 897d19c..339c8ef 100644
--- a/res/layout/blob_list_item_view.xml
+++ b/res/layout/blob_list_item_view.xml
@@ -47,4 +47,11 @@
         android:layout_height="wrap_content"
         android:textAppearance="?android:attr/textAppearanceSmall"
         android:textColor="?android:attr/textColorSecondary"/>
+
+    <TextView
+        android:id="@+id/blob_size"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:textColor="?android:attr/textColorSecondary"/>
 </LinearLayout>
diff --git a/src/com/android/settings/development/storage/BlobInfoListView.java b/src/com/android/settings/development/storage/BlobInfoListView.java
index 8e312a2..5457964 100644
--- a/src/com/android/settings/development/storage/BlobInfoListView.java
+++ b/src/com/android/settings/development/storage/BlobInfoListView.java
@@ -158,6 +158,7 @@
             holder.blobId.setText(getString(R.string.blob_id_text, blob.getId()));
             holder.blobExpiry.setText(getString(R.string.blob_expires_text,
                     SharedDataUtils.formatTime(blob.getExpiryTimeMs())));
+            holder.blobSize.setText(SharedDataUtils.formatSize(blob.getSizeBytes()));
             return convertView;
         }
     }
diff --git a/src/com/android/settings/development/storage/BlobInfoViewHolder.java b/src/com/android/settings/development/storage/BlobInfoViewHolder.java
index de8c9a9..073a138 100644
--- a/src/com/android/settings/development/storage/BlobInfoViewHolder.java
+++ b/src/com/android/settings/development/storage/BlobInfoViewHolder.java
@@ -30,6 +30,7 @@
     TextView blobLabel;
     TextView blobId;
     TextView blobExpiry;
+    TextView blobSize;
 
     static BlobInfoViewHolder createOrRecycle(LayoutInflater inflater, View convertView) {
         if (convertView != null) {
@@ -42,6 +43,7 @@
         holder.blobLabel = convertView.findViewById(R.id.blob_label);
         holder.blobId = convertView.findViewById(R.id.blob_id);
         holder.blobExpiry = convertView.findViewById(R.id.blob_expiry);
+        holder.blobSize = convertView.findViewById(R.id.blob_size);
         convertView.setTag(holder);
         return holder;
     }
diff --git a/src/com/android/settings/development/storage/LeaseInfoListView.java b/src/com/android/settings/development/storage/LeaseInfoListView.java
index ef9e5b8..b20bb65 100644
--- a/src/com/android/settings/development/storage/LeaseInfoListView.java
+++ b/src/com/android/settings/development/storage/LeaseInfoListView.java
@@ -93,11 +93,13 @@
         final TextView blobLabel = headerView.findViewById(R.id.blob_label);
         final TextView blobId = headerView.findViewById(R.id.blob_id);
         final TextView blobExpiry = headerView.findViewById(R.id.blob_expiry);
+        final TextView blobSize = headerView.findViewById(R.id.blob_size);
 
         blobLabel.setText(mBlobInfo.getLabel());
         blobLabel.setTypeface(Typeface.DEFAULT_BOLD);
         blobId.setText(getString(R.string.blob_id_text, mBlobInfo.getId()));
         blobExpiry.setVisibility(View.GONE);
+        blobSize.setText(SharedDataUtils.formatSize(mBlobInfo.getSizeBytes()));
         return headerView;
     }
 
diff --git a/src/com/android/settings/development/storage/SharedDataUtils.java b/src/com/android/settings/development/storage/SharedDataUtils.java
index 2f48f6d..e0c038a 100644
--- a/src/com/android/settings/development/storage/SharedDataUtils.java
+++ b/src/com/android/settings/development/storage/SharedDataUtils.java
@@ -39,4 +39,9 @@
         CALENDAR.setTimeInMillis(millis);
         return FORMATTER.format(CALENDAR.getTime());
     }
+
+    static String formatSize(long sizeBytes) {
+        final double sizeInMb = sizeBytes / (1024.0 * 1024.0);
+        return String.format("%.2f MB", sizeInMb);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java
index f11fb39..c6a19c7 100644
--- a/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java
@@ -113,7 +113,8 @@
         accessors.add(two);
 
         final List<BlobInfo> tmp = new ArrayList<>();
-        tmp.add(new BlobInfo(10, System.currentTimeMillis(), "testing blob 1", accessors));
+        tmp.add(new BlobInfo(10, System.currentTimeMillis(), "testing blob 1", 54 * 1024 * 1024,
+                                accessors));
         return tmp;
     }
 }