OxygenOS 15 beta APK teardown reveals interesting features

Video Battery Saver, AI voice recording summaries, improvements to the 80% charging limit are some of them reported by Android Authority
Adhiraj S. Chauhan

Android applications package their static text in XML format, and extracting these resources can sometimes give us insight into features that are either in-development, or slated to be rolled out to everyone in future updates. An APK teardown into the newest OxygenOS 15 developer preview builds (or beta, as OnePlus defines it) for OnePlus 12 & OnePlus Open have shed some light on what may come to other OxygenOS devices. (via Android Authority)

Video Battery Saver

First off, here are the relevant strings:

<string name="low_power_mode_off">Video battery saver off</string>
<string name="low_power_mode_on">Video battery saver on</string>
<string name="notification_content">Optimizing battery usage for video playback. May impact the quality of video, audio, and haptics.</string>
<string name="notification_title">Video battery saver on</string>

And here's a screenshot of the settings screen where this feature resides:

The description does leave us wanting for more details, but not much more is known about how exactly this feature may work. We theorize it may enforce any, or all of the following limitations (non-exhaustive):

  • Automatic color correction may be turned off
  • HDR may be disabled
  • Reduced bitrate (both video and audio)
  • Reduced framerate (for 60+ FPS videos)
  • Reduced streaming quality

AI voice recording summaries

We've listed the important bits here, but you can peruse the entire block of relevant strings yourselves.

  • This feature is limited to recordings less than 5 hours long, and may generate only partial summaries if slightly smaller
  • Only some formats are currently supported — MP3, AAC, WAV, AMR, AWB
  • Recordings must be less than 500 MB in size
  • Cannot be used when Super Power Saving mode is enabled
  • It may be part of the "Notes" system app
  • Transcription will be limited to Chinese, English, and Hindi (at least in the beginning)
    This may also mean that EU/GLO won't get this until much later.

This feature has the potential of helping out many professionals (we all hate meetings, don't we?); however, it's unknown at the moment if this will be local-only, or if some cloud service will be used. One must be mindful of securing their own privacy in this digital age.

<string name="convert_error_damage_file">File not supported by transcription</string>
<string name="convert_error_duration_long">Recording longer than 5 hours. Transcription unavailable.</string>
<string name="convert_error_format">Transcription only supports MP3, AMR, AWB, AAC, and WAV files</string>
<string name="convert_error_size_long">Transcription only supports files smaller than 500 MB</string>
<string name="convert_notes_disable_content">\"%1$s\" has been disabled. Enable it to save your transcript.</string>
<string name="generate_ai_summary_simultaneously">Generate summary</string>
<string name="generate_summary">Summarize</string>
<string name="summary_error_damage_file">File not supported by summary</string>
<string name="summary_error_max_generating_count">Too many summary tasks in progress. Please try again later.</string>
<string name="summary_error_reach_max_count">Recording summary limit reached. Try again tomorrow.</string>
<string name="summary_error_record_format_not_support">Summary only supports MP3, AMR, AWB, AAC, and WAV files</string>
<string name="summary_error_record_generating">Generating summary. Please try again later.</string>
<string name="summary_error_record_short">Recording too short. Summary unavailable.</string>
<string name="summary_error_super_power_mode">Recording Summary unavailable in Super power saving mode</string>
<string name="summary_notes_disable_content">\"%1$s\" has been disabled. Enable it to view your summary.</string>
<string name="summary_warn_record_long">Recording too long. Only a partial summary will be generated.</string>
<string name="summary_with_colon">Summary: </string>
<string name="text_generate">Generate</string>
<string name="third_record_app_name_smart_voice">AI Voice</string>
<string name="tip_click_to_view_summary">Tap to view the summary of the recording.</string>
<string name="tip_summary_be_deleted">Summary has been deleted. Generate a new summary.</string>
<string name="tip_summary_notes_uninstall">\"Notes\" has been uninstalled. Reinstall it to view the summary.</string>
<string name="toast_summary_error_size_over">Recordings larger than 500 MB are not supported</string>
<string name="transferring_content_v2">Transcription will continue even if you leave this page.</string>
<string name="view_summary">Summary</string>
<string name="summary_generating">Generating</string>
<string name="summary_guide_content">Extract key information such as time, location, and events from the recording content, and intelligently generate a summary of the recording</string>
<string name="summary_guide_title">AI recording summary</string>
<string name="summary_language_auto">Auto</string>
<string name="summary_language_cn">Chinese</string>
<string name="summary_language_code_auto">auto</string>
<string name="summary_language_code_cn">zh</string>
<string name="summary_language_code_en">en</string>
<string name="summary_language_code_hi">hi</string>
<string name="summary_language_en">English</string>
<string name="summary_language_hi">Hindi</string>
<string name="summary_select_language">Select language</string>

Auto-cap long charging to 80%

OxygenOS has had a few battery health features available for quite some time (see Settings › Battery):

  • Smart charging — dynamically adjusted charging speeds based on past trends
  • Stop charging at 80% — hard limit that must be manually toggled

However, in OxygenOS 15 developer preview 2, the latter seems to have evolved into something that we consider a bit more controversial. Instead of needing to toggle it on manually, the new system may automatically kick in, if these new strings are to be believed:

<string name="regular_charge_protect_open_alert_content">Your device has been charging for too long. To avoid damage to the battery, \"Charging limit\" has been turned on.</string>
<string name="regular_charge_protection_content">To slow down battery aging, the battery level will always be kept at 80% while charging. This feature will automatically turn on when your device has been charging for too long.</string>
<string name="regular_charge_protection_notification_content">To slow down battery aging, the battery level will always be kept at 80% while charging.</string>

Oppo/OnePlus phones are one of the only brands to feature extremely fast charging (branded "SuperVOOC"), but one of the downsides of such 80W+ fast charging is that it also wears down the battery quicker. All mobile devices (and even electric cars!) have lithium-ion batteries, where the chemistry is such that if you move the ions too many times, or too fast, the atomic structure degrades and it becomes increasingly more difficult to achieve the same efficiency and maintain the energy storage capacity. It's why slow charging is generally considered safer and more sustainable in the long run.

So while this automatic (i.e. no user input required) charging limit enforcement will most likely keep your battery operating at peak efficiency, it could also be seen as a feature that hinders some people. After all, if your job requires you to be away for longer durations, you would prefer leaving the house with your battery at a 100%, not 80%. (side note: 100% rarely means "fully charged" from a chemical perspective)

On the other hand, if you're someone who always has access to a charging port, this will be a good quality of life update for you. This is one feature I'm most eager to test out, however as we don't have access to a device with OxygenOS 15 builds, we'll have to wait and see.

That wraps it up for now. We'll probably do our own deep dive into the new APKs soon, and publish any findings in future articles.

Image and story credits: Android Authority (1, 2, 3). Note: "1NormalUsername" mentioned in their articles has previously written for Oxygen Updater, including similar insight pieces from APK teardowns.