Merge "Use current size as default value in shared perference for disk" into main
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/InstalledImage.java b/android/TerminalApp/java/com/android/virtualization/terminal/InstalledImage.java
index 623fbe4..f616b87 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/InstalledImage.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/InstalledImage.java
@@ -98,7 +98,7 @@
     }
 
     public long getSize() throws IOException {
-        return roundUp(Files.size(mRootPartition));
+        return Files.size(mRootPartition);
     }
 
     public long getSmallestSizePossible() throws IOException {
diff --git a/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java b/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
index deef825..22f7c4e 100644
--- a/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
+++ b/android/TerminalApp/java/com/android/virtualization/terminal/MainActivity.java
@@ -505,21 +505,15 @@
         String prefKey = getString(R.string.preference_file_key);
         String key = getString(R.string.preference_disk_size_key);
         SharedPreferences sharedPref = this.getSharedPreferences(prefKey, Context.MODE_PRIVATE);
-        long newSize = sharedPref.getLong(key, -1);
-
-        // No preferred size. Don't resize.
-        if (newSize == -1) {
-            return;
-        }
-
         try {
+            // Use current size as default value to ensure if its size is multiple of 4096
+            long newSize = sharedPref.getLong(key, image.getSize());
             Log.d(TAG, "Resizing disk to " + newSize + " bytes");
             newSize = image.resize(newSize);
+            sharedPref.edit().putLong(key, newSize).apply();
         } catch (IOException e) {
             Log.e(TAG, "Failed to resize disk", e);
             return;
         }
-
-        sharedPref.edit().putLong(key, newSize).apply();
     }
 }