Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-131383

Evaluate Android 15 features

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.9
    • QPA: Android
    • None
    • Android
    • 2025wk18s1QtforAndroid, 2025wk20s1QtforAndroid, 2025wk22s1-2QtforAndroid

    Description

      Evaluate https://developer.android.com/about/versions/15/summary features

      • Check what are most interesting
      • Check what of those could be cross-platform

      Qt - evaluated against dev/6.10 code dated 16.05.2025

      • = Action done or not needed 
      • = Action needed
      • = Attention needed
      • = Whitney we have a problem

      New Features and APIs

      Qt  Qt Detail Domain Detail
          Accessibility Better Braille
      In Android 15, we've made it possible for TalkBack to support Braille displays that are using the HID standard over both USB and secure Bluetooth.
          Camera and media Low Light Boost
      Android 15 introduces Low Light Boost, an auto-exposure mode available to both Camera 2 and the night mode camera extension.
          Camera and media In-app Camera Controls
      Android 15 adds extensions for more control over the camera hardware and its algorithms on supported devices.
          Camera and media HDR headroom control
      Android 15 lets you control the HDR headroom with setDesiredHdrHeadroom to strike a balance between SDR and HDR content.
          Camera and media Loudness control
      Android 15 introduces the LoudnessCodecController API, based on the CTA-2075 loudness standard. This API can help you manage audio loudness inconsistencies to make sure users don't have to constantly adjust volume when switching between content or apps.
          Camera and media Virtual MIDI 2.0 Devices
      Android 15 extends UMP support to virtual MIDI apps, enabling composition apps to control synthesizer apps as a virtual MIDI 2.0 device just like they would with an USB MIDI 2.0 device.
          Camera and media More efficient AV1 software decoding
      dav1d, the popular AV1 software decoder from VideoLAN is now available for Android devices that don't support AV1 decode in hardware.
          Connectivity Satellite support
      Android 15 continues to extend platform support for satellite connectivity and includes some UI elements to ensure a consistent user experience across the satellite connectivity landscape.
          Connectivity Smoother NFC experiences
      Android 15 is working to make the tap to pay experience more seamless and reliable while continuing to support Android's robust NFC app ecosystem.
          Connectivity Wallet role
      Android 15 introduces a Wallet role that allows tighter integration with the user's preferred wallet app.
          Developer productivity and tools OpenJDK 17 updates
      Android 15 continues the work of refreshing Android's core libraries to align with the features in the latest OpenJDK LTS releases.
          Developer productivity and tools PDF improvements
      Android 15 includes substantial improvements to the PdfRenderer APIs.
          Developer productivity and tools Automatic language switching refinements
      Android 15 adds additional controls to help apps tune automatic language switching to their use case.
          Developer productivity and tools Improved OpenType Variable Font API
      Android 15 improves the usability of the OpenType variable font.
          Developer productivity and tools Granular line break controls
      Starting in Android 15, a TextView and the underlying line breaker can preserve the given portion of text in the same line to improve readability.
          Developer productivity and tools App archiving
      Android 15 includes OS level support for app archiving and unarchiving, making it easier for all app stores to implement it.
          Graphics Modernizing Android's GPU access
      Android 15 includes ANGLE as an optional layer for running OpenGL® ES on top of Vulkan; ANGLE is already shipping as the GL system driver on some new devices, and new Android devices will move to only support OpenGL through ANGLE.
          Graphics Improvements for Canvas
      Android 15 continues our modernization of Android's Canvas graphics system with new capabilities.
          Internationalization CJK variable font
      Starting with Android 15, the font file for Chinese, Japanese, and Korean (CJK) languages, NotoSansCJK, is a variable font.
          Internationalization Inter-character justification
      Starting with Android 15, text can be justified utilizing letter spacing by using JUSTIFICATION_MODE_INTER_CHARACTER.
          Internationalization Automatic line break configuration
      In Android 15, apps can apply phrase-based line breaks only for short lines of text, using the LINE_BREAK_WORD_STYLE_AUTO option.
          Internationalization Additional Japanese Hentaigana Font
      In Android 15, a font file for old Japanese Hiragana (known as Hentaigana) is bundled by default.
          Large screens and form factors Improved large screen multitasking
      Android 15 gives users better ways to multitask on large screen devices.
          Large screens and form factors Cover screen support
      Your app can declare a property that Android 15 uses to allow your Application or Activity to be presented on the small cover screens of supported flippable devices.
          Performance and battery ApplicationStartInfo API
      The ApplicationStartInfo API on Android 15 helps provide insight into app startup including startup state, time spent in launch phases, how your app was started when your Application class was instantiated, and more.
          Performance and battery Detailed app size information
      Android 15 adds the StorageStats.getAppBytesByDataType([type]) API, which lets you get insight into how your app is using up all that space, including APK file splits, AOT and speedup related code, dex metadata, libraries, and guided profiles.
          Performance and battery App-managed profiling
      Android 15 includes the ProfilingManager class, which lets you collect profiling information from within your app.
          Performance and battery SQLite database improvements
      Android 15 introduces SQLite APIs that expose advanced features from the underlying SQLite engine that target specific performance issues that can manifest in apps.
          Performance and battery Android Dynamic Performance Framework updates
      Android 15 continues our investment in the Android Dynamic Performance Framework (ADPF), a set of APIs that allow games and performance intensive apps to interact more directly with power and thermal systems of Android devices.
          Privacy Screen recording detection
      Android 15 adds support for apps to detect that they are being recorded.
          Privacy Expanded IntentFilter capabilities
      Android 15 builds in support for more precise Intent resolution through UriRelativeFilterGroup, which contains a set of UriRelativeFilter objects that form a set of Intent matching rules that must each be satisfied, including URL query parameters, URL fragments, and blocking or exclusion rules.
          Privacy Private space
      Private space lets users create a separate space on their device where they can keep sensitive apps away from prying eyes, under an additional layer of authentication. Apps in the private space show up in a separate container in the launcher, and are hidden from the recents view, notifications, settings, and from other apps when the private space is locked.
          Privacy Query most-recent user selection for Selected Photos Access
      Apps can highlight only the most-recently-selected photos and videos when partial access to media permissions is granted.
          Privacy Privacy Sandbox on Android
      Android 15 includes the latest Android Ad Services extensions, incorporating the latest version of the Privacy Sandbox on Android. This addition is part of our work to develop technologies that improve user privacy and enable effective, personalized advertising experiences for mobile apps.
          Privacy Health Connect
      Android 15 integrates the latest extensions around Health Connect by Android, a secure and centralized platform to manage and share app-collected health and fitness data. This update adds support for data types across fitness, nutrition, skin temperature, training plans, and more.
          Privacy Partial screen sharing
      Android 15 supports partial screen sharing so users can share or record just an app window rather than the entire device screen. This feature, first enabled in Android 14 QPR2, includes MediaProjection callbacks that allow your app to customize the partial screen sharing experience.
          Security Integrate Credential Manager with autofill
      Starting with Android 15, developers can link specific views like username or password fields with Credential Manager requests, making it easier to provide a tailored user experience during the sign-in process.
          Security Integrate single tap sign-up and sign-in with biometric prompts
      Credential Manager integrates biometric prompts into the credential creation and sign-in processes, eliminating the need for providers to manage biometric prompts.
          Security Key management for end-to-end encryption
      Use the E2eeContactKeysManager class to facilitate end-to-end encryption (E2EE) in your Android apps.
          Security Permission checks on content URIs
      Android 15 introduces a set of APIs that perform permission checks on content URIs.
          User experience and system UI Richer widget previews with Generated Previews API
      Beginning in Android 15 we are adding support for generated previews. This means that app widget providers can generate RemoteViews to use as the picker preview, instead of a static resource.
          User experience and system UI Picture-in-picture
      Starting from Android 15, the Activity#onPictureInPictureUiStateChanged callback now gets triggered as soon as the picture-in-picture animation starts.
          User experience and system UI Improved Do Not Disturb rules
      AutomaticZenRule lets apps customize Attention Management (Do Not Disturb) rules and decide when to activate or deactivate them. Android 15 greatly enhances these rules with the goal of improving the user experience.
          User experience and system UI Set VibrationEffect for notification channels
      Android 15 supports setting rich vibrations for incoming notifications by channel.
          User experience and system UI Media projection status bar chip and auto stop
      Android 15 QPR1 adds a prominent status bar indicator for media projection (screen sharing, casting, and recording) to ensure users are aware of ongoing media projection and to provide an accessible control for stopping the projection. Also, in-progress media projection is automatically stopped when the device screen is locked.

      Change (all apps)

      Qt  Qt Detail Domain Detail
      AudioTrack directly used in qtmultimedia in
      QtAudioDeviceManager.java and qopenslesengine.cpp
      QTBUG-137397 
      Camera and media Direct and offload audio playback invalidates previously open direct or offload audio tracks when resource limits are reached
      Beginning with Android 15, when an app requests direct playback, the system invalidates any currently open direct AudioTrack objects which prevent fulfilling the new track request.
      FLAG_STOPPED not directly used Core functionality Changes to package stopped state
      In Android 15, apps are only be removed from the FLAG_STOPPED state through direct or indirect user action. In addition to the existing restrictions, the system also cancels all pending intents when the app enters the stopped state on Android 15.
      C++ impacted.
      Qt 6.5 & 6.8 LTS (NDK27).
      NDK29 & AGP 8.5.1 <= should support it.
      QTBUG-131514 
      Core functionality Support for 16 KB page sizes
      Beginning with Android 15, the Android system supports development devices that are configured to use a page size of 16 KB. If you use native code in your app, you should rebuild your app with support for 16 KB devices, and all developers should test their apps using a 16 KB environment to verify that there are no unexpected regressions in app behavior.
      If Qt (Quick) for Android (Automotive) app is medical or launcher app read this. QtAA QAA-2975  Core functionality Required changes for some apps to support private space
      Private space is a feature in Android 15 that lets users create a separate space on their device where they can keep sensitive apps away from prying eyes, under an additional layer of authentication. Because apps in the private space have restricted visibility, some types of apps need to take additional steps to be able to see and interact with apps in a user's private space.
      Not used Core functionality PNG-based emoji font removed
      The legacy, PNG-based emoji font file (NotoColorEmojiLegacy.ttf) has been removed, leaving just the vector-based file.
      Qt 6.5 LTS forward minimum supported SDK 26
      Qt 5.15 LTS does not support Android 15
      Core functionality Minimum installable target API level
      Apps with a targetSdkVersion lower than 24 can't be installed.
      No Qt implementation QTBUG-103569  User experience and system UI Predictive back animations enabled for apps that opted in
      The developer option for predictive back animations has been removed. Instead, system animations such as back-to-home, cross-task, and cross-activity appear for apps that have opted in to the predictive back gesture either entirely or at an activity level.

      Change (app targeting Android 15 <=)

      Qt  Qt Detail Domain Detail
      Not used; requestAudioFocus, focusRequest nor AudioFocus Camera and media Restrictions on requesting audio focus
      Apps that target Android 15 must be the top app or running an audio-related foreground service in order to request audio focus.
          Core functionality Media processing foreground service type
      Android 15 introduces a new foreground service type, mediaProcessing. This service type is appropriate for operations like transcoding media files.
          Core functionality Restrictions on BOOT_COMPLETED broadcast receivers launching foreground services
      For apps targeting Android 15, BOOT_COMPLETED receivers are not allowed to launch some types of foreground services.
          Core functionality Changes to when apps can modify the global state of Do Not Disturb mode
      Apps that target Android 15 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).
          Core functionality OpenJDK API changes
      As part of the OpenJDK API updates, there are some changes that can affect app compatibility, such as changes to some string formatting APIs, language code handling, and random int sequences.
          Non-SDK interface restrictions Updates to non-SDK interface restrictions
      Android 15 includes updated lists of restricted non-SDK interfaces based on collaboration with Android developers and the latest internal testing.
          Security Restricted TLS versions
      Android 15 restricts the usage of TLS versions 1.0 and 1.1. These versions had previously been deprecated in Android, but are now disallowed for apps targeting Android 15.
          Security Secured background activity launches
      For apps targeting Android 15, we've included further changes to prevent malicious background apps from bringing other apps to the foreground, elevating their privileges, and abusing user interaction.
          Security Safer intents
      For apps targeting Android 15, intents that target specific components must accurately match the target's intent-filter specifications, and intents without an action no longer match any intent filters.
      SafeArea margins covers this Qt 6.9 <= 
      Qt 6.5 & 6.8 LTS's
      QTBUG-125345
      QTBUG-131519
      does not support it, but Android 15 has a flag\ to disable the feature.
      User experience and system UI Edge-to-edge enforcement
      For apps that target Android 15, we're including several changes related to edge-to-edge. Your app's user experience might be negatively impacted by these changes if your app has UI elements near the top or bottom of the screen and your app doesn't handle insets.
          User experience and system UI Stable configuration
      If your app targets Android 15 or higher, Configuration no longer excludes the system bars.
          User experience and system UI elegantTextHeight attribute defaults to true
      For apps targeting Android 15, the elegantTextHeight TextView attribute becomes true by default, replacing the compact font used by default with some scripts that have large vertical metrics with one that is much more readable.
          User experience and system UI TextView width changes for complex letter shapes
      In previous versions of Android, some cursive fonts or languages that have complex shaping might draw the letters in the previous or next character's area. In some cases, such letters were clipped at the beginning or ending position. Starting in Android 15, a TextView allocates width for drawing enough space for such letters and allows apps to request extra paddings to the left to prevent clipping.
          User experience and system UI Locale-aware default line height for EditText
      For apps targeting Android 15, a minimum line height is reserved for EditText to match the reference font for the specified Locale.

      Deprecation (from Android 15 <=)

      Qt  Qt Detail  Domain Detail
      Not used Camera and media Use Spatializer instead of Virtualizer
      In Android 15, we're deprecating the Virtualizer class.

       
      qtwebengine uses
      QTBUG-137133 
      Core functionality WebSQL deprecated in Android WebView
      WebSQL-related methods from WebSettings are deprecated.

       

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              rampe Rami Potinkara
              rampe Rami Potinkara
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes