diff --git a/services/api/current.txt b/services/api/current.txt
index f7d6ee9..e34ef13 100644
--- a/services/api/current.txt
+++ b/services/api/current.txt
@@ -85,69 +85,72 @@
     method @Nullable public String getAppComponentFactory();
     method @Nullable public String getApplicationClassName();
     method @Nullable public String getBackupAgentName();
-    method @DrawableRes public int getBannerRes();
+    method @DrawableRes public int getBannerResourceId();
     method public int getBaseRevisionCode();
     method public int getCategory();
     method @Nullable public String getClassLoaderName();
     method @Dimension(unit=android.annotation.Dimension.DP) public int getCompatibleWidthLimitDp();
-    method @XmlRes public int getDataExtractionRulesRes();
-    method @StringRes public int getDescriptionRes();
-    method @XmlRes public int getFullBackupContentRes();
+    method @XmlRes public int getDataExtractionRulesResourceId();
+    method @StringRes public int getDescriptionResourceId();
+    method @XmlRes public int getFullBackupContentResourceId();
     method public int getGwpAsanMode();
-    method @DrawableRes public int getIconRes();
-    method @StringRes public int getLabelRes();
+    method @DrawableRes public int getIconResourceId();
+    method @StringRes public int getLabelResourceId();
     method @Dimension(unit=android.annotation.Dimension.DP) public int getLargestWidthLimitDp();
     method @NonNull public java.util.List<java.lang.String> getLibraryNames();
-    method @XmlRes public int getLocaleConfigRes();
-    method @DrawableRes public int getLogoRes();
+    method @XmlRes public int getLocaleConfigResourceId();
+    method @DrawableRes public int getLogoResourceId();
     method public long getLongVersionCode();
     method public float getMaxAspectRatio();
     method public float getMinAspectRatio();
     method public int getNativeHeapZeroInitialized();
-    method @XmlRes public int getNetworkSecurityConfigRes();
+    method @XmlRes public int getNetworkSecurityConfigResourceId();
     method @Nullable public String getRequiredAccountType();
     method @Dimension(unit=android.annotation.Dimension.DP) public int getRequiresSmallestWidthDp();
     method @Nullable public String getRestrictedAccountType();
-    method @DrawableRes public int getRoundIconRes();
+    method @DrawableRes public int getRoundIconResourceId();
     method @Nullable public String getSdkLibraryName();
     method @Nullable public String getSharedUserId();
-    method @StringRes public int getSharedUserLabelRes();
+    method @StringRes public int getSharedUserLabelResourceId();
     method @NonNull public java.util.List<com.android.server.pm.pkg.AndroidPackageSplit> getSplits();
     method @Nullable public String getStaticSharedLibraryName();
     method @NonNull public java.util.UUID getStorageUuid();
     method public int getTargetSdkVersion();
-    method @StyleRes public int getThemeRes();
+    method @StyleRes public int getThemeResourceId();
     method public int getUiOptions();
     method @Nullable public String getVersionName();
     method @Nullable public String getZygotePreloadName();
+    method public boolean is32BitAbiPreferred();
     method public boolean isAllowAudioPlaybackCapture();
-    method public boolean isAllowBackup();
-    method public boolean isAllowClearUserData();
-    method public boolean isAllowClearUserDataOnFailedRestore();
     method public boolean isAllowNativeHeapPointerTagging();
-    method public boolean isAllowTaskReparenting();
     method public boolean isAnyDensity();
     method public boolean isAttributionsUserVisible();
+    method public boolean isBackupAllowed();
     method public boolean isBackupInForeground();
-    method public boolean isCantSaveState();
+    method public boolean isClearUserDataAllowed();
+    method public boolean isClearUserDataOnFailedRestoreAllowed();
+    method public boolean isCleartextTrafficAllowed();
     method public boolean isCoreApp();
     method public boolean isCrossProfile();
     method public boolean isDebuggable();
+    method public boolean isDeclaredHavingCode();
     method public boolean isDefaultToDeviceProtectedStorage();
     method public boolean isDirectBootAware();
-    method public boolean isExtractNativeLibs();
+    method public boolean isExtraLargeScreensSupported();
+    method public boolean isExtractNativeLibrariesRequested();
     method public boolean isFactoryTest();
     method public boolean isForceQueryable();
     method public boolean isFullBackupOnly();
     method public boolean isHardwareAccelerated();
-    method public boolean isHasCode();
-    method public boolean isHasFragileUserData();
     method public boolean isIsolatedSplitLoading();
-    method public boolean isKillAfterRestore();
+    method public boolean isKillAfterRestoreAllowed();
     method public boolean isLargeHeap();
+    method public boolean isLargeScreensSupported();
     method public boolean isLeavingSharedUser();
     method public boolean isMultiArch();
     method public boolean isNativeLibraryRootRequiresIsa();
+    method public boolean isNonSdkApiRequested();
+    method public boolean isNormalScreensSupported();
     method public boolean isOnBackInvokedCallbackEnabled();
     method public boolean isPersistent();
     method public boolean isProfileable();
@@ -157,17 +160,14 @@
     method public boolean isResetEnabledSettingsOnAppDataCleared();
     method public boolean isResourceOverlay();
     method public boolean isRestoreAnyVersion();
+    method public boolean isRtlSupported();
+    method public boolean isSaveStateDisallowed();
     method public boolean isSignedWithPlatformKey();
-    method public boolean isSupportsExtraLargeScreens();
-    method public boolean isSupportsLargeScreens();
-    method public boolean isSupportsNormalScreens();
-    method public boolean isSupportsRtl();
-    method public boolean isSupportsSmallScreens();
+    method public boolean isSmallScreensSupported();
+    method public boolean isTaskReparentingAllowed();
     method public boolean isTestOnly();
-    method public boolean isUse32BitAbi();
     method public boolean isUseEmbeddedDex();
-    method public boolean isUsesCleartextTraffic();
-    method public boolean isUsesNonSdkApi();
+    method public boolean isUserDataFragile();
     method public boolean isVmSafeMode();
   }
 
