diff --git a/src/com/android/contacts/DynamicShortcuts.java b/src/com/android/contacts/DynamicShortcuts.java
index 98e725f..e287e4a 100644
--- a/src/com/android/contacts/DynamicShortcuts.java
+++ b/src/com/android/contacts/DynamicShortcuts.java
@@ -406,9 +406,9 @@
 
         // If on O or higher, add padding around the bitmap.
         final int paddingW = (int) (bitmap.getWidth() *
-                AdaptiveIconDrawable.getExtraInsetPercentage());
+                AdaptiveIconDrawable.getExtraInsetFraction());
         final int paddingH = (int) (bitmap.getHeight() *
-                AdaptiveIconDrawable.getExtraInsetPercentage());
+                AdaptiveIconDrawable.getExtraInsetFraction());
 
         final Bitmap scaledBitmap = Bitmap.createBitmap(bitmap.getWidth() + paddingW,
                 bitmap.getHeight() + paddingH, bitmap.getConfig());
@@ -426,7 +426,7 @@
         if (BuildCompat.isAtLeastO()) {
             // Add padding on >= O
             padding = (int) (RECOMMENDED_ICON_PIXEL_LENGTH *
-                    AdaptiveIconDrawable.getExtraInsetPercentage());
+                    AdaptiveIconDrawable.getExtraInsetFraction());
             width = RECOMMENDED_ICON_PIXEL_LENGTH + padding;
             height = RECOMMENDED_ICON_PIXEL_LENGTH + padding;
         } else {
diff --git a/src/com/android/contacts/ShortcutIntentBuilder.java b/src/com/android/contacts/ShortcutIntentBuilder.java
index 76ef08f..3a0b36b 100644
--- a/src/com/android/contacts/ShortcutIntentBuilder.java
+++ b/src/com/android/contacts/ShortcutIntentBuilder.java
@@ -432,7 +432,7 @@
 
         // On >= O scale image up by AdaptiveIconDrawable.DEFAULT_VIEW_PORT_SCALE.
         final int scale = (int) (icon.getHeight() *
-                (1f / (1 + 2 * AdaptiveIconDrawable.getExtraInsetPercentage())));
+                (1f / (1 + 2 * AdaptiveIconDrawable.getExtraInsetFraction())));
         final Bitmap scaledBitmap = Bitmap.createBitmap(icon.getWidth() + scale,
                 icon.getHeight() + scale, icon.getConfig());
         Canvas scaledCanvas = new Canvas(scaledBitmap);
