| Change ID: 162547999CAMERA_MIC_INDICATORS_NOT_PRESENT
Default State: Disabled for all apps.
 
 Indicates that this device supports camera and microphone
           indicators. The value is falseif present, because theCompatChanges#isChangeEnabledmethod returnstrueif the Change ID is not present. | 
      
        | Change ID: 320741775CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED
Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled,
           isSessionConfigurationSupportedalso checks for compatibility of session parameters when supported by
           the HAL. | 
      
        | Change ID: 296478951DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR
Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled, the creator of a PendingIntentblocks
           background activity launches
           by default. To learn more about this change, see the section in the Android 15
           behavior changes page about
           
           Secured background activity launches. | 
      
        | Change ID: 279646685DEPRECATE_UI_FONT
Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled, the
           elegantTextHeightTextViewattribute becomestrueby default when your app is running on a device with Android 15 or higher, replacing the compact font used by default with
           some scripts that have large vertical metrics with one that is much
           more readable. To learn more about this change, see the section in the Android 15
           behavior changes page about
           
           elegantTextHeight attribute defaults to true. | 
      
        | Change ID: 168419799DOWNSCALED
Default State: Disabled for all apps.
 
 This change is the gatekeeper of all per-app buffer downscaling
           changes. Enabling this change allows the following scaling factors to
           be applied: When this change is enabled for an app package, the app is forcibly
          resized to the highest, enabled scaling factor. For example, 80% is
          used if both 80% and 70%
          (DOWNSCALE_80andDOWNSCALE_70) are enabled.
          When both this change andDOWNSCALED_INVERSEare
          enabled,DOWNSCALED_INVERSEtakes precedence and the scaling factor is applied inversely. | 
      
        | Change ID: 273564678DOWNSCALED_INVERSE
Default State: Disabled for all apps.
 
 This change is the gatekeeper of all per-app buffer inverse
           downscaling changes. Enabling this change allows the following
           scaling factors to be inversely applied (that is, the resolution is
           upscaled instead): When this change is enabled for an app package, the app is forcibly
          resized to the lowest, enabled scaling factor. For example, 80% is
          used if both 80% and 70%
          (DOWNSCALE_80andDOWNSCALE_70) are enabled
          because when inversely applied, an 80% scaling factor equals 125%,
          which is less than the 142.86% scaling that is applied when inversely
          applying a 70% scaling factor. When both this change andDOWNSCALEDare
          enabled,DOWNSCALED_INVERSEtakes precedence and the scaling factor is applied inversely. | 
      
        | Change ID: 189970040DOWNSCALE_30
Default State: Disabled for all apps.
 
 If DOWNSCALEDis also
           enabled, enabling this change for a package forces the app to assume
           it's running on a display with 30% of the vertical and horizontal
           resolution of the real display. IfDOWNSCALED_INVERSEis
           also enabled, enabling this change for a package forces the app to
           assume it's running on a display with 333.33% of the vertical and
           horizontal resolution of the real display. | 
      
        | Change ID: 189969749DOWNSCALE_35
Default State: Disabled for all apps.
 
 If DOWNSCALEDis also
           enabled, enabling this change for a package forces the app to assume
           it's running on a display with 35% of the vertical and horizontal
           resolution of the real display. IfDOWNSCALED_INVERSEis
           also enabled, enabling this change for a package forces the app to
           assume it's running on a display with 285.71% of the vertical and
           horizontal resolution of the real display. | 
      
        | Change ID: 189970038DOWNSCALE_40
Default State: Disabled for all apps.
 
 If DOWNSCALEDis also
           enabled, enabling this change for a package forces the app to assume
           it's running on a display with 40% of the vertical and horizontal
           resolution of the real display. IfDOWNSCALED_INVERSEis
           also enabled, enabling this change for a package forces the app to
           assume it's running on a display with 250% of the vertical and
           horizontal resolution of the real display. | 
      
        | Change ID: 189969782DOWNSCALE_45
Default State: Disabled for all apps.
 
 If DOWNSCALEDis also
           enabled, enabling this change for a package forces the app to assume
           it's running on a display with 45% of the vertical and horizontal
           resolution of the real display. IfDOWNSCALED_INVERSEis
           also enabled, enabling this change for a package forces the app to
           assume it's running on a display with 222.22% of the vertical and
           horizontal resolution of the real display. | 
      
        | Change ID: 176926741DOWNSCALE_50
Default State: Disabled for all apps.
 
 If DOWNSCALEDis also
           enabled, enabling this change for a package forces the app to assume
           it's running on a display with 50% of the vertical and horizontal
           resolution of the real display. IfDOWNSCALED_INVERSEis
           also enabled, enabling this change for a package forces the app to
           assume it's running on a display with 200% of the vertical and
           horizontal resolution of the real display. | 
      
        | Change ID: 189970036DOWNSCALE_55
Default State: Disabled for all apps.
 
 If DOWNSCALEDis also
           enabled, enabling this change for a package forces the app to assume
           it's running on a display with 55% of the vertical and horizontal
           resolution of the real display. IfDOWNSCALED_INVERSEis
           also enabled, enabling this change for a package forces the app to
           assume it's running on a display with 181.82% of the vertical and
           horizontal resolution of the real display. | 
      
        | Change ID: 176926771DOWNSCALE_60
Default State: Disabled for all apps.
 
 If DOWNSCALEDis also
           enabled, enabling this change for a package forces the app to assume
           it's running on a display with 60% of the vertical and horizontal
           resolution of the real display. IfDOWNSCALED_INVERSEis
           also enabled, enabling this change for a package forces the app to
           assume it's running on a display with 166.67% of the vertical and
           horizontal resolution of the real display. | 
      
        | Change ID: 189969744DOWNSCALE_65
Default State: Disabled for all apps.
 
 If DOWNSCALEDis also
           enabled, enabling this change for a package forces the app to assume
           it's running on a display with 65% of the vertical and horizontal
           resolution of the real display. IfDOWNSCALED_INVERSEis
           also enabled, enabling this change for a package forces the app to
           assume it's running on a display with 153.85% of the vertical and
           horizontal resolution of the real display. | 
      
        | Change ID: 176926829DOWNSCALE_70
Default State: Disabled for all apps.
 
 If DOWNSCALEDis also
           enabled, enabling this change for a package forces the app to assume
           it's running on a display with 70% of the vertical and horizontal
           resolution of the real display. IfDOWNSCALED_INVERSEis
           also enabled, enabling this change for a package forces the app to
           assume it's running on a display with 142.86% of the vertical and
           horizontal resolution of the real display. | 
      
        | Change ID: 189969779DOWNSCALE_75
Default State: Disabled for all apps.
 
 If DOWNSCALEDis also
           enabled, enabling this change for a package forces the app to assume
           it's running on a display with 75% of the vertical and horizontal
           resolution of the real display. IfDOWNSCALED_INVERSEis
           also enabled, enabling this change for a package forces the app to
           assume it's running on a display with 133.33% of the vertical and
           horizontal resolution of the real display. | 
      
        | Change ID: 176926753DOWNSCALE_80
Default State: Disabled for all apps.
 
 If DOWNSCALEDis also
           enabled, enabling this change for a package forces the app to assume
           it's running on a display with 80% of the vertical and horizontal
           resolution of the real display. IfDOWNSCALED_INVERSEis
           also enabled, enabling this change for a package forces the app to
           assume it's running on a display with 125% of the vertical and
           horizontal resolution of the real display. | 
      
        | Change ID: 189969734DOWNSCALE_85
Default State: Disabled for all apps.
 
 If DOWNSCALEDis also
           enabled, enabling this change for a package forces the app to assume
           it's running on a display with 85% of the vertical and horizontal
           resolution of the real display. IfDOWNSCALED_INVERSEis
           also enabled, enabling this change for a package forces the app to
           assume it's running on a display with 117.65% of the vertical and
           horizontal resolution of the real display. | 
      
        | Change ID: 182811243DOWNSCALE_90
Default State: Disabled for all apps.
 
 If DOWNSCALEDis also
           enabled, enabling this change for a package forces the app to assume
           it's running on a display with 90% of the vertical and horizontal
           resolution of the real display. IfDOWNSCALED_INVERSEis
           also enabled, enabling this change for a package forces the app to
           assume it's running on a display with 111.11% of the vertical and
           horizontal resolution of the real display. | 
      
        | Change ID: 202956589DO_NOT_CLONE_IN_ARRAYS_AS_LIST
Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled, when using
          Arrays.asList(...).toArray(), the component type of the
          resulting array is now anObject—not
          the type of the underlying array's elements. So the following code
          throws aClassCastException: String[] elements = (String[]) Arrays.asList("one", "two").toArray();For this case, to preserve Stringas the component
          type in the resulting array, you could useCollection.toArray(Object[])instead: String[] elements = Arrays.asList("two", "one").toArray(new String[0]);To learn more about this change, see the section in the Android 15
           behavior changes page about
           
           OpenJDK API changes. | 
      
        | Change ID: 324203798ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM
Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled, to prevent any existing apps from having app compatibility issues with non-SDK usages of
          ClientTransaction#getActivityToken(),
          only allow bundlingLaunchActivityItem. | 
      
        | Change ID: 319212206ENABLE_MATCH_LOCAL_NETWORK
Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled, apps receive network callbacks from local networks by default. Apps targeting Android 14 (API level 34) or lower still need to add NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORKto theNetworkCapabilitiesof theNetworkRequestto receiveConnectivityManager.NetworkCallbackfrom local networks. | 
      
        | Change ID: 270674727 Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled, validation of argument index, flags, width, and precision are now more strict when using the
           String.format()andFormatter.format()APIs. To learn more about this change, see the section in the Android 15
           behavior changes page about
           
           OpenJDK API changes. | 
      
        | Change ID: 309578419ENFORCE_EDGE_TO_EDGE
Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled, apps will be edge-to-edge by default on devices
           running Android 15 or higher. To learn more about this change, see the section in the Android 15
           behavior changes page about
           
           Edge-to-edge enforcement. | 
      
        | Change ID: 143231523ENFORCE_STRICT_QUERY_BUILDER
Default State: Disabled for all apps.
 
 When enabled, the SQLiteQueryBuilderverifies allCalendarProvider2query selections against malicious
             arguments. | 
      
        | Change ID: 296558535FGS_BOOT_COMPLETED_RESTRICTIONS
Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled, disables foreground service background starts from
           BOOT_COMPLETEDbroadcasts for all types except: To learn more about this change, see the section in the Android 15
           behavior changes page about
           
           Restrictions on BOOT_COMPLETEDbroadcast receivers
           launching foreground services. | 
      
        | Change ID: 317799821FGS_INTRODUCE_TIME_LIMITS
Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled, foreground services of certain types have a time limit. If the foreground service of the offending type is not stopped within the allocated time limit, it will receive a callback using Service.onTimeout(int, int)and it must then be stopped within a few seconds. If an app fails to do so, it will be declared an ANR. To learn more about this change, see the sections in the Android
           15 behavior changes page about timeout behavior for the
           
           data sync and
           
           media processing
           foreground service types. | 
      
        | Change ID: 319471980FGS_SAW_RESTRICTIONS
Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled, disables foreground service background starts in System Alert Window for all types unless it already has a System Overlay Window. To learn more about this change, see the section in the Android 15
           behavior changes page about
           
           Restrictions on starting foreground services while an app holds the SYSTEM_ALERT_WINDOWpermission. | 
      
        | Change ID: 174227820FORCE_DISABLE_HEVC_SUPPORT
Default State: Disabled for all apps.
 
 Force disable an app from supporting the HEVC media capability.
           Apps should declare their supported media capabilities in their
           manifest but this flag can be used to force an app into not
           supporting HEVC, hence forcing transcoding while accessing media
           encoded in HEVC. Setting this flag overrides any OS level defaults
           for apps. It is disabled by default, meaning that the OS defaults
           take precedence. If both this flag and
           FORCE_ENABLE_HEVC_SUPPORTare enabled, the OS ignores
           both flags. | 
      
        | Change ID: 174228127FORCE_ENABLE_HEVC_SUPPORT
Default State: Disabled for all apps.
 
 Force enable an app to support the HEVC media capability Apps
           should declare their supported media capabilities in their manifest
           but this flag can be used to force an app into supporting HEVC, hence
           avoiding transcoding while accessing media encoded in HEVC. Setting
           this flag overrides any OS level defaults for apps. It is disabled by
           default, meaning that the OS defaults would take precedence. If both
           this flag and FORCE_DISABLE_HEVC_SUPPORTare enabled,
           the OS ignores both flags. | 
      
        | Change ID: 181146395FORCE_NON_RESIZE_APP
Default State: Disabled for all apps.
 
 Forces the packages it is applied to to be non-resizable. | 
      
        | Change ID: 174042936FORCE_RESIZE_APP
Default State: Disabled for all apps.
 
 Forces the packages it is applied to to be resizable. We only
           allow resizing in fullscreen windowing mode, but not forcing the app
           into resizable multi-windowing mode. | 
      
        | Change ID: 145634846GWP_ASAN
Default State: Disabled for all apps.
 
 Enables sampled native memory bug detection in apps. To learn more about using GWP-ASan, see the
            GWP-ASan guide. | 
      
        | Change ID: 307233716IS_DEVICE_OWNER_USER_AWARE
Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled, the isDeviceOwnerApp(String)method will use the user contained within the context. For apps targeting Android 14 (API level 34) or lower, the user of the calling process will be used
           (Process.myUserHandle()). | 
      
        | Change ID: 308670109MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES
Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled, apps can no longer change the global state or policy of Do Not Disturb (DND) on a device (either by modifying user settings, or turning off DND mode). Instead, apps must contribute an
           AutomaticZenRule,
           which the system combines into a global policy with the existing most-restrictive-policy-wins scheme.. To learn more about this change, see the section in the Android 15
           behavior changes page about
           
           Changes to when apps can modify the global state of Do Not Disturb mode. | 
      
        | Change ID: 178038272NATIVE_HEAP_ZERO_INIT
Default State: Disabled for all apps.
 
 Enable automatic zero-initialization of native heap memory
           allocations. | 
      
        | Change ID: 145772972NATIVE_MEMTAG_ASYNC
Default State: Disabled for all apps.
 
 Enable asynchronous (ASYNC) memory tag checking in this process.
           This flag only affects hardware supporting the ARM Memory Tagging
           Extension (MTE). | 
      
        | Change ID: 177438394NATIVE_MEMTAG_SYNC
Default State: Disabled for all apps.
 
 Enables synchronous (SYNC) memory tag checking in this process.
           This flag only affects hardware supporting the ARM Memory Tagging
           Extension (MTE). If both NATIVE_MEMTAG_ASYNCand this
           option are enabled, this option takes precedence and MTE is enabled
           in SYNC mode. | 
      
        | Change ID: 265464455OVERRIDE_ANY_ORIENTATION
Default State: Disabled for all apps.
 
 When enabled, this change allows the following orientation
           overrides to be applied regardless of the orientation requested by
           the activity: | 
      
        | Change ID: 310816437OVERRIDE_ANY_ORIENTATION_TO_USER
Default State: Disabled for all apps.
 
 When enabled, enables
           SCREEN_ORIENTATION_USER,
           which overrides any orientation requested by the activity. Fixed
           orientation apps can be overridden to fullscreen on large screen
           devices withignoreOrientationRequestenabled with this
           override. | 
      
        | Change ID: 314961188 Default State: Disabled for all apps.
 
 When enabled, excludes the packages the override is applied to from the camera compatibility treatment in free-form windowing mode for fixed-orientation apps. In free-form windowing mode, the compatibility treatment emulates running on a portrait device by letterboxing the app window and changing the camera characteristics to what apps commonly expect in a portrait device: 90 and 270 degree sensor rotation for back and front cameras, respectively, and setting display rotation to 0. Use this flag to disable the compatibility treatment for apps that don't respond well to the treatment. | 
      
        | Change ID: 191514214OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK
Default State: Disabled for all apps.
 
 When enabled, this change forces the packages it is applied to
             ignore the current value of android:resizeableActivityas well as target SDK equal to or lower than Android 6.0 (API level
             23) and consider the activity as non-resizable. In this case, the
             value of camera rotate and crop only depends on the needed
             compensation considering the current display rotation. | 
      
        | Change ID: 189229956OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS
Default State: Disabled for all apps.
 
 When enabled, this change forces the packages it is applied to
             override the default camera rotate and crop behavior and always
             return CaptureRequest.SCALER_ROTATE_AND_CROP_NONE. | 
      
        | Change ID: 316897322 Default State: Disabled for all apps.
 
 When enabled, ensures that users are presented with a choice of capturing a single app or the entire screen when initiating a MediaProjectionsession, overriding the usage ofMediaProjectionConfig#createConfigForDefaultDisplay. | 
      
        | Change ID: 266124927OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE
Default State: Disabled for all apps.
 
 Enables
           SCREEN_ORIENTATION_REVERSE_LANDSCAPEfor the app it's applied to. UnlessOVERRIDE_ANY_ORIENTATIONis also enabled,SCREEN_ORIENTATION_REVERSE_LANDSCAPEis
           used only when the activity specifies landscape orientation. Enabling
           this change can help you test your app behavior for differences
           between devices where landscape orientation corresponds toSurface.ROTATION_90and devices where it corresponds toSurface.ROTATION_270. | 
      
        | Change ID: 332679525OVERRIDE_LAYOUT_IN_DISPLAY_CUTOUT_MODE
Default State: Disabled for all apps.
 
 When enabled, overrides the layout in display cutout mode behavior. This will only apply if edge-to-edge is not enforced. | 
      
        | Change ID: 174042980OVERRIDE_MIN_ASPECT_RATIO
Default State: Disabled for all apps.
 
 This change is the gatekeeper of all changes that force a given minimum aspect ratio. Enabling this change allows the following minimum aspect
             ratios to be applied: When this change is enabled for an app package, the minimum aspect
          ratio given in the app's manifest is overridden to the largest enabled
          aspect ratio unless the app's manifest value is higher. | 
      
        | Change ID: 218959984OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN
Default State: Disabled for all apps.
 
 When enabled, overrides the minimum aspect ratio restriction in
           portrait fullscreen in order to use all available screen space. | 
      
        | Change ID: 180326787OVERRIDE_MIN_ASPECT_RATIO_LARGE
Default State: Disabled for all apps.
 
 When
           OVERRIDE_MIN_ASPECT_RATIOis also enabled, enabling this change for a package sets the
           activity's minimum aspect ratio to a large value as defined byOVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE. | 
      
        | Change ID: 180326845OVERRIDE_MIN_ASPECT_RATIO_MEDIUM
Default State: Disabled for all apps.
 
 When
           OVERRIDE_MIN_ASPECT_RATIOis also enabled, enabling this change for a package sets the
           activity's minimum aspect ratio to a medium value as defined byOVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE. | 
      
        | Change ID: 325586858OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA
Default State: Disabled for all apps.
 
 When enabled, restricts treatments that force a given min aspect ratio to apply so that they only apply when an app is connected to the camera. | 
      
        | Change ID: 203647190OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY
Default State: Enabled for all apps.
 
 When
           OVERRIDE_MIN_ASPECT_RATIOis also enabled, this change limits any other changes that force an
           activity's minimum aspect ratio to a certain value—such asOVERRIDE_MIN_ASPECT_RATIO_LARGEandOVERRIDE_MIN_ASPECT_RATIO_MEDIUM—to
           activities that also have a portrait orientation. | 
      
        | Change ID: 236283604OVERRIDE_RESPECT_REQUESTED_ORIENTATION
Default State: Disabled for all apps.
 
 When enabled, this change excludes packages that is applied to
           from the ignore orientation restrictions that device manufacturers
           can set. | 
      
        | Change ID: 265451093OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR
Default State: Disabled for all apps.
 
 Enables
           SCREEN_ORIENTATION_NOSENSORfor the app it's applied to. UnlessOVERRIDE_ANY_ORIENTATIONis also enabled,SCREEN_ORIENTATION_NOSENSORis
           used only when the activity doesn't specify any other fixed
           orientation. | 
      
        | Change ID: 265452344OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT
Default State: Disabled for all apps.
 
 Enables
           SCREEN_ORIENTATION_PORTRAITfor the app it's applied to. UnlessOVERRIDE_ANY_ORIENTATIONis also enabled,SCREEN_ORIENTATION_PORTRAITis
           used only when the activity doesn't specify any other fixed
           orientation. | 
      
        | Change ID: 319400769PARSE_CONTENT_DISPOSITION_USING_RFC_6266
Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled, allows parsing of Content-Disposition headers that conform to RFC 6266. In particular, this enables parsing of filename*values that can use a different character encoding. | 
      
        | Change ID: 174840628RATE_LIMIT_TOASTS
Default State: This change can't be toggled. It is only logged by the compatibility framework.
 
 Enables rate limiting on the number of
           Toast.show()calls to prevent overburdening the user with too many toasts in a
           limited time. Any attempt to show more toasts than allowed in a
           certain timeframe results in the toast being discarded. | 
      
        | Change ID: 308103782STREAM_INT_DIFFERS_FROM_NEXT_INT
Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled, the Random.ints()methods now return a
           different sequence of numbers than theRandom.nextInt()methods do. This follows from the changes in
           https://bugs.openjdk.org/browse/JDK-8301574. To learn more about this change, see the section in the Android 15
           behavior changes page about
           
           OpenJDK API changes. | 
      
        | Change ID: 196254758USE_EXPERIMENTAL_COMPONENT_ALIAS
Default State: Disabled for all apps.
 
 When enabled, the system allows the "android" package to use
             component aliases. | 
      
        | Change ID: 291868760USE_NEW_ISO_LOCALE_CODES
Default State: Enabled for apps that target Android 15 (API level 35) or higher.
 
 When enabled, language codes for Hebrew, Yiddish, and Indonesian
           are no longer converted to their obsolete forms (Hebrew:
           iw, Yiddish:ji, and Indonesian:in). To learn more about this change, see the section in the Android 15
           behavior changes page about
           
           OpenJDK API changes. |