diff --git a/core/api/current.txt b/core/api/current.txt index 4622ca83b18ba..847e1c3ecd671 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -12394,7 +12394,6 @@ package android.content.pm { field public static final String FEATURE_RAM_NORMAL = "android.hardware.ram.normal"; field public static final String FEATURE_SCREEN_LANDSCAPE = "android.hardware.screen.landscape"; field public static final String FEATURE_SCREEN_PORTRAIT = "android.hardware.screen.portrait"; - field public static final String FEATURE_SEAMLESS_REFRESH_RATE_SWITCHING = "android.software.seamless_refresh_rate_switching"; field public static final String FEATURE_SECURELY_REMOVES_USERS = "android.software.securely_removes_users"; field public static final String FEATURE_SECURE_LOCK_SCREEN = "android.software.secure_lock_screen"; field public static final String FEATURE_SECURITY_MODEL_COMPATIBLE = "android.hardware.security.model.compatible"; diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 900454d59e507..da36da5b57edc 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -3010,14 +3010,6 @@ public abstract class PackageManager { public static final String FEATURE_VIRTUALIZATION_FRAMEWORK = "android.software.virtualization_framework"; - /** - * Feature for {@link #getSystemAvailableFeatures()} and {@link #hasSystemFeature(String)}. - * This feature indicates whether device supports seamless refresh rate switching. - */ - @SdkConstant(SdkConstantType.FEATURE) - public static final String FEATURE_SEAMLESS_REFRESH_RATE_SWITCHING - = "android.software.seamless_refresh_rate_switching"; - /** * Feature for {@link #getSystemAvailableFeatures} and * {@link #hasSystemFeature(String, int)}: If this feature is supported, the Vulkan diff --git a/core/java/android/hardware/display/DisplayManager.java b/core/java/android/hardware/display/DisplayManager.java index 42803a12f30d4..b333f5acd7939 100644 --- a/core/java/android/hardware/display/DisplayManager.java +++ b/core/java/android/hardware/display/DisplayManager.java @@ -50,6 +50,8 @@ import android.util.SparseArray; import android.view.Display; import android.view.Surface; +import com.android.internal.R; + import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; @@ -1322,6 +1324,22 @@ public final class DisplayManager { return mGlobal.shouldAlwaysRespectAppRequestedMode(); } + /** + * Returns whether device supports seamless refresh rate switching. + * + * Match content frame rate setting has three options: seamless, non-seamless and never. + * The seamless option does nothing if the device does not support seamless refresh rate + * switching. This API is used in such a case to hide the seamless option. + * + * @see DisplayManager#setRefreshRateSwitchingType + * @see DisplayManager#getMatchContentFrameRateUserPreference + * @hide + */ + public boolean supportsSeamlessRefreshRateSwitching() { + return mContext.getResources().getBoolean( + R.bool.config_supportsSeamlessRefreshRateSwitching); + } + /** * Sets the refresh rate switching type. * This matches {@link android.provider.Settings.Secure.MATCH_CONTENT_FRAME_RATE} diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 0e2dcf3e439e8..c3ebef0a096fd 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -4468,6 +4468,9 @@ true + + true + diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 2f73dfbf9e33c..89a28d5efa896 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -3823,6 +3823,7 @@ +