Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
854 commits
Select commit Hold shift + click to select a range
cb767f1
ComputerEngine: Fix signature spoofing for microG revanced
rmp22 Mar 4, 2025
565fe6e
SystemUI: Redraw display cutout on overlay changes
adithya2306 Mar 4, 2021
b998941
Ask pin for shutdown/reboot on secure lockscreen
DarkJoker360 Apr 15, 2020
cbd8216
CUR_MAX_CACHED_PROCESSES is not greater than the maximum value allowed
Oct 7, 2023
21e8997
services: Disallow max cached processes above 128
neobuddy89 Sep 6, 2024
090f608
CachedAppOptimizer: Set thread group to background
neobuddy89 Nov 21, 2023
e36d2f0
CachedAppOptimizer: Fix persistent compact skipped
Apr 3, 2023
662685c
CachedAppOptimizer: Initialize compactProfile and compactTime
Jul 2, 2024
736bc53
CachedAppOptimizer: Pageout File pages during system compaction
Dec 28, 2022
348d9d5
services: optimize memory on device wake
rmp22 Apr 23, 2025
4d6e807
services: clean system_server heap memory on screen off
rmp22 Apr 28, 2025
f139e98
SystemUI: clean heap memory on screen off
rmp22 Apr 28, 2025
72fc5de
ActivityManagerService: Rewrite release memory on screen wake
neobuddy89 Sep 28, 2025
5e3e8a1
services: Reduce memory release interval guard
neobuddy89 Sep 28, 2025
bf49dd8
services: Reduce grace window to kill cache after user unlock
neobuddy89 Sep 15, 2025
126f273
ActivityManagerService: Adjust delay on boot system compaction
rmp22 May 29, 2025
917b9c6
ActivityManagerService: Perform system compaction with GC
neobuddy89 Sep 28, 2025
21e70bf
SystemUI: Add flashlight strength control
HELLBOY017 Sep 13, 2025
49618b8
SystemUI: Improve flashlight strength control UX
Ghosuto Dec 22, 2025
5186969
SystemUI: Flashlight support secondary click
Ghosuto Feb 7, 2026
fb640f8
SystemUI: Fix wifi tile showing mobile data carrier name
Ghosuto Feb 7, 2026
559545a
SystemUI: fix roaming icon
shutter-cat Feb 4, 2026
84f8dde
SystemUI: Refresh system icons on theme change
StyloGey Jun 22, 2023
3c9b013
base: Allow disabling private DNS for VPN [1/2]
idoybh Dec 21, 2023
b32054a
base: Add option to cycle through ringer modes [1/3]
ritujb Sep 3, 2022
ae91e3a
base: Add support for application downgrade [1/2]
libxzr Mar 17, 2022
7b8c722
SystemUI: Use privacy_chip_background for charger indicator bg
someone5678 Dec 29, 2024
51c20fa
SystemUI: write initial value of SHOW_QR_CODE_SCANNER_SETTING on firs…
maxwen Dec 14, 2022
4e11ba7
frameworks/base: Import Xiaomi Image Tags defenitions
johnmart19 May 30, 2023
698f3f3
SystemUI: Fix Internet Tile showing no service
Jul 2, 2024
6b56efd
AudioService: do not block focus request from applications compiled w…
Jul 9, 2024
1dac96d
AudioService: Cancel old toasts when switching ringer mode
idoybh Nov 20, 2020
d5b397e
SystemUI: Constrain keyguard indication area burn-in offset
adithya2306 Jan 15, 2025
95b5452
SystemUI: Remove split navigation bar layout for sw900dp
luk1337 Jan 5, 2025
9ace082
don't remove app widgets from user's home screen when the user stops
muhomorr Oct 22, 2024
8b00015
fix NullPointerException in Animator:callOnList
Jul 29, 2025
91f30d1
SystemUI: Add margin above small clock in lockscreen
neobuddy89 Aug 22, 2025
5b5d2a8
Optimize the DateTimeView logic time consumption when updating the Ui…
Sep 5, 2025
25ca21b
SystemUI: Add hotspot toggle in QS internet dialog
adithya2306 Sep 17, 2022
cb4e5d6
SystemUI: Introduce 5G toggle in internet connectivity dialog
libxzr Apr 23, 2022
d0bc4c1
SystemUI: Allow devices to disable 5G toggle
neobuddy89 Jan 21, 2025
9e12535
SystemUI: InternetTileNewImpl: Fix secondary click
rmp22 Jul 5, 2025
30161be
SystemUI: Screenrecord: Add delete action to the notification
sourajitk Dec 29, 2020
a65f3d8
Screenrecord: Fix notifications not being dismissed
idoybh Dec 18, 2023
0b1b334
ScreenshotController: Clean up resources when dismissed
neobuddy89 Oct 5, 2025
f055fc3
ScreenshotController: Play haptic feedback even on normal ringer mode
neobuddy89 Oct 5, 2025
685551b
Fix memory leak in car service
Sep 14, 2025
0595935
Fix NullPointerException in ArtFastDataOutput.writeUTF()
Sep 23, 2025
5871146
Move SaveUi from bottom to center
Sep 24, 2025
7d86ceb
Minor code optimization.
Sep 28, 2025
7758118
try-catch unlinkToDeath called on unlinked Binder.
Sep 28, 2025
3be1a58
system: Postpone NetworkWatchlistService scan during boot
May 21, 2025
fa63953
Fix ConcurrentModificationException in LocaleStore
Abdulla-vcc Jul 7, 2025
d1148cf
CpuMonitorService: reduce cache size
rmp22 May 1, 2025
022756e
SystemUI: Fix stale colors on power menu after UI mode change
neobuddy89 Oct 25, 2025
5df486d
SystemUI: Prevent NotifCollection illegal state on notification dump
neobuddy89 Oct 30, 2025
51b7b15
SystemUI: Prevent ShadeListBuilder illegal state on notification dump
neobuddy89 Nov 10, 2025
9603b2e
Fix index out of bounds exception in HandwritingModeController.
Nov 11, 2025
63a0240
SystemUI: Hide data switch tile on non-voice capable devices
neobuddy89 Nov 15, 2025
f308a31
Fix RuntimeXfermode native memory leaks
Dec 26, 2025
9ea2b00
ViewGroup: null-check child in dispatchDraw to avoid NPE
Dec 23, 2025
c41784d
Reduce unnecessary calls to getLatestVsyncEventData
LiangliangSui Dec 29, 2025
95052b4
Fix NullPointerException in PackageManagerService
Dec 29, 2025
d25bee1
SystemUI: Fix keyguard back button background
neobuddy89 Jan 3, 2026
114b4e1
fixing contacts apps crash
rmp22 Dec 18, 2025
d50bb0e
fixing configuration controller crash
rmp22 Dec 24, 2025
3636267
Revert "Null safe package name in AppOps writeState"
muhomorr Jan 6, 2023
213b28e
appops: skip ops for invalid null package during state serialization
muhomorr Jan 6, 2023
591b653
preventing media album bitmaps from impacting performance
rmp22 Nov 27, 2025
1f95d4c
Fixes an issue where the lockscreen clock would display the incorrect…
Dec 25, 2025
cf7bd47
Add Fix Bluetooth status display issue after power cycle
Oct 23, 2025
9d40b2e
totalScanTimeMs and totalWifiLockTimeMs may be 0, causing an Arithmet…
Oct 21, 2025
cc2f042
Remove Duplicate WIFI_DISPLAY permission entry
May 4, 2021
60cc621
SystemUI: Fix default font feature on lockscreen
neobuddy89 Jan 11, 2026
80168ce
SystemUI: Add repository method to observe settings change for string…
neobuddy89 Jan 27, 2026
1c32469
SystemUI: Add status bar battery disable toggle
neobuddy89 Jan 27, 2026
44efa3d
SystemUI: FlexClock: Read font from config_clockFontFamily
neobuddy89 Jan 28, 2026
9051588
SystemUI: Handle secondary click for mobile data tile
neobuddy89 Jan 28, 2026
5058a3c
SmartSpace: Mark strings as non-translatable
gwolf2u Jan 31, 2026
60331dc
SystemUI: Allow ambient wallpaper on pulsing
neobuddy89 Feb 1, 2026
e1ed9b6
fix an upstream infinite loop bug in ProtoFieldFilter.skipBytes()
muhomorr Jan 14, 2026
de9404e
Home screen is stuck at "phone is starting" screen
Jan 13, 2026
5d1bca9
add workaround for UsageStatsDatabase OOM system_server crash
muhomorr Jan 6, 2026
f6cf383
add workaround for WindowContext.finalize() system_server crash
muhomorr Jan 6, 2026
f197741
fix system_server crash in NotificationHistoryProtoHelper
muhomorr Dec 24, 2025
31eaccd
fix system_server crash in NotificationHistory.getPooledStringsToWrite()
muhomorr Dec 17, 2025
5daec26
Monitor Settings.Global.DEVICE_PROVISIONED, if changed from 0 to 1 an…
Jan 23, 2026
aaad2e7
Fix SecurityException crash when setting wallpaper from Google Photos
Jan 26, 2026
4e52796
Fix media duration calculation for HTTP streams larger than 2GB
Jan 26, 2026
bb5f956
fixup! aapt: Use a std::map instead of a SortedVector
cyberknight777 Jan 26, 2026
a4a9ff5
add workaround for system_server startUserInBackgroundTemporarily crash
muhomorr Jan 23, 2026
6192a72
Minor code optimization for FileObserver.
Dec 1, 2025
f9e0ec6
wm: Only close system dialogs for visible windows
Jan 26, 2026
a458a43
SystemUI: UdfpsHelper: Check if view is attached before updating layout
idoybh Jan 22, 2026
96b46f7
SystemUI: Prevent indicator text cutting off in biometric prompt
adithya2306 Jan 15, 2025
ec62be9
use shared bitmaps in MediaMetadata to avoid Binder failures
muhomorr Jul 20, 2025
ed62a74
SystemUI: TunerActivity: Remove vibrate icon if not supported
neobuddy89 Feb 4, 2026
08cac55
Fix check for pinned shortcut in ShortcutRequestPinProcessor
Oct 24, 2024
f0a49d8
Fix boot race in NotificationManagerService
yuangaobk Feb 5, 2026
74a0b5c
Fix NavBar haptic feedback after Bluetooth device disconnect
Feb 5, 2026
c569f5e
SystemUI: Fix edge light, media art, pulse on ambient display
neobuddy89 Feb 12, 2026
9cc4827
audio: add message MSG_L_BT_ACTIVE_DEVICE_CHANGE_EXT to messageMutesM…
Feb 9, 2026
b38c789
base: Migrate to MaterialExpressiveTheme
Rve27 Jan 19, 2026
d34a77d
core: Preventing memory leaks from bloating os memory that leads to OOM
rmp22 Nov 21, 2025
c3f9c8e
media: disable noisy exifinterface logs
rmp22 Aug 23, 2025
73b4e79
core: add guard to null ResourcesImpl log spam
rmp22 Aug 23, 2025
73c73e0
SystemUI: Revert new landscape notification behaviour
prochy-exe May 28, 2022
edf2af6
Update CE storage handling in StorageManagerService
cevente Feb 12, 2026
0d97c73
SystemUI: Fix imageloader spam in BrightnessSliderViewModel
neobuddy89 Oct 22, 2025
7122992
SystemUI: Extend QS Header Image to support animated GIF/WEBP [1/2]
kamikaonashi Dec 4, 2025
ac37e6f
SystemUI: Start QS header animation only on expanding
neobuddy89 Feb 14, 2026
3a6d861
SystemUI: Fix concurrent modification exception on config change
neobuddy89 Dec 9, 2025
e50c308
SystemUI: ConfigurationControllerImpl: Avoid NullPointerException
someone5678 Dec 15, 2024
a99ba23
SystemUI: Add notification row transluency toggle
rmp22 Jan 22, 2026
51dc140
SystemUI: Fix notification transparency issues
rmp22 Jan 22, 2026
8a57f4c
SystemUI: Add toggle for translucent notifications on lockscreen
neobuddy89 Oct 9, 2025
35c96b6
SystemUI: Add charging bolt indicator for text-only battery style
Ghosuto Feb 16, 2026
5915a35
Allow complex resource types to follow references
talle112 Feb 12, 2026
e272992
base: Add support for daily and weekly data usage cycles [1/2]
idoybh Aug 22, 2025
f3a06c3
base: Fix crash caused by back gesture on popup view
Ruyue-Kinsenka Feb 11, 2026
970b603
SystemUI: Hide mobile data tile when unsupported
neobuddy89 Feb 23, 2026
d22c8b8
SystemUI: Add QS tile gradient customization
neobuddy89 Feb 25, 2026
de4d192
SystemUI: Add QS brightness slider gradient customization
neobuddy89 Feb 25, 2026
221848e
SystemUI: Add volume slider gradient customization
neobuddy89 Feb 26, 2026
b3820b8
SystemUI: Add custom gradient start/end color support
neobuddy89 Feb 26, 2026
1cb7e24
SystemUI: Add gradient for volume buttons along with slider
neobuddy89 Mar 3, 2026
2e8150b
SystemUI: Fix up gradient related glitch in volume slider
neobuddy89 Mar 8, 2026
16e86eb
Avoid NPE in CriticalEventLog.saveLogToFileNow()
mnkassis Feb 26, 2026
d67a6ac
SettingsTheme: Correctly theming AlertDialog with M3 colors
someone5678 Oct 1, 2025
7ac615e
SystemUI: Fix notification flicker with transluency enabled
neobuddy89 Mar 3, 2026
da0ed96
Update battery info every second when device is charging
SagarMakhar Aug 7, 2021
b302c18
Add config overlay for battery info update
ShevT Jan 12, 2023
eb912ac
Avoid memory leak of activity in ExitTransitionCoordinator
Mar 6, 2026
e7c5810
SystemUI: Allow Omnijaw weather to show on aod
Ghosuto Jan 11, 2026
40ab77d
SystemUI: WeatherViewController: Implement settings observer
neobuddy89 Mar 15, 2026
b4293f4
Update EGL context type from EGLDisplay to EGLContext
Mar 17, 2026
49a2a6d
SystemUI: keep Wi-Fi QS tile subtitle Wi-Fi-specific
geek0609 Mar 18, 2026
c8bab45
SystemUI: Introduce Clock face feature
minaripenguin Oct 14, 2024
d36258b
SystemUI: Implement weather views for clock styles
minaripenguin Feb 24, 2026
e13f7da
SystemUI: Add layout section for clock style
Arman-ATI Feb 24, 2026
f7a7990
SystemUI: Clocks: Add various clock styles
Ghosuto Nov 9, 2024
61395d8
SystemUI: Lock Screen Clock Accent Color Option
Ghosuto Apr 10, 2025
02f925f
SystemUI: Improve clock face color option
Ghosuto May 23, 2025
6b9aec5
SystemUI: Hide clock properly when clock style set
tejas101k Feb 27, 2026
8d2cbb9
SystemUI: Allow adjust height of lockscreen clock styles [1/2]
tejas101k Feb 27, 2026
7a66953
SystemUI: Add support custom clock color [1/2]
Ghosuto Feb 27, 2026
f3dd778
SystemUI: Add block and bubble to no-color exclude list
Ghosuto Mar 7, 2026
638bd17
SystemUI: Import stylish clock styles
neobuddy89 Mar 17, 2026
574c7fd
SystemUI: Clocks: Various layout and font fixes
neobuddy89 Mar 19, 2026
445eee7
StrictMode triggers a watchdog
Mar 20, 2026
41b3400
audio: fix direct byte buffer not release
Mar 20, 2026
c3492e5
SystemUI: Add classic QS panel style for tiles
neobuddy89 Mar 26, 2026
0162086
SystemUI: Fix classic tile specs in some instances
neobuddy89 Mar 28, 2026
4299596
SystemUI: Add more classic icon shapes
neobuddy89 Apr 5, 2026
b8285d3
SystemUI: Fix QS classic tile style jitter during panel expansion
Ghosuto Apr 3, 2026
a20f317
SystemUI: Fix qs tile font variable
Ghosuto Apr 4, 2026
3f367f1
SystemUI: hide ticks on flashlight slider
geek0609 Mar 10, 2026
7cd3152
AppOpsService: treat empty attribution tags as absent
QuinceROMs Mar 20, 2026
16909cf
InsetsController: skip redundant hide(ime()) tracking
QuinceROMs Mar 20, 2026
407eb64
SystemUI: clear stale LogAccessDialog timeouts
QuinceROMs Mar 20, 2026
08de32a
Adding theme engine interface
rmp22 Mar 15, 2026
9b55e84
MediaRouterService: fix A2DP incorrectly suppressed on USB disconnect
Apr 2, 2026
f7a5f97
Fixed the issue where settings_secure.xml.fallback fails to generate …
Apr 1, 2026
283c78d
Fix the issue of digital jitter during the countdown when using "PIN"…
Apr 3, 2026
7f8a8fa
Allow sending vendor- or device-specific commands to the camera HAL.
maniac103 Mar 3, 2015
8e101ab
fix StrictMode BackgroundActivityLaunchCallback leak
inthewaves Mar 28, 2026
bf7d9f8
SystemUI: Added new clock styles
Ghosuto Mar 24, 2026
0a905fe
core: Add perf activity anim override
rmp22 Mar 21, 2026
e48a956
core: Upgrading to m3e animation specs
rmp22 Apr 18, 2026
68dd506
optimizing animations performance
rmp22 Apr 23, 2026
e802346
SystemUI: Adding statusbar dynamic bar
rmp22 Feb 24, 2026
93f2480
SystemUI: Suppress Dynamic Bar notifications when Danmaku is active
Saikrishna1504 Mar 31, 2026
a8202ae
SystemUI: DynamicBar: Align lockscreen chip with keyguard indication …
bijoyv9 Mar 29, 2026
4036aeb
SystemUI: DynamicBar: Fixing issues | enhance
rmp22 Mar 30, 2026
f98dbed
SystemUI: DynamicBar: Fixing expanded content top padding
rmp22 Apr 13, 2026
26d59fa
SystemUI: DynamicBar: Fixing recorder | notification issues
rmp22 Apr 11, 2026
b29e162
SystemUI: DynamicBar: Auto-focus reply field when clicking reply button
Saikrishna1504 Apr 11, 2026
b5f5f83
SystemUI: DynamicBar: Allow opening app when reply field is focused
Saikrishna1504 Apr 11, 2026
34bfb6c
SystemUI: DynamicBar: Limiting status bar chip width
rmp22 Apr 11, 2026
1abd56c
SystemUI: DynamicBar: Cleaning up ux | animations enhance
rmp22 Apr 19, 2026
18d0489
SystemUI: DynamicBar: Fix our torch impl
neobuddy89 Mar 31, 2026
430dab4
SystemUI: Add quicklook client
rmp22 Feb 16, 2026
1198584
SystemUI: Adding platform hooks
rmp22 Feb 16, 2026
e5a5430
SystemUI: Adapt platform hooks for dynamic bar usage only
neobuddy89 Apr 14, 2026
16589c4
SystemUI: DynamicBar: Use actual charging info on lock screen
neobuddy89 Apr 4, 2026
2689401
SystemUI: DynamicBar: Stabilize and clean up charging info formatting
bijoyv9 Apr 26, 2026
8ee83c6
SystemUI: DynamicBar: Refine charging chip layout and parsing logic
bijoyv9 Apr 26, 2026
e09527e
SystemUI: DynamicBar: Fix expanded content issue
rmp22 Apr 24, 2026
8cf4bb6
SystemUI: DynamicBar: Add smooth squiggly progress for media content
neobuddy89 Apr 1, 2026
67bdb90
SystemUI: DynamicBar: Fix seekbar scrubbing UX for media content
neobuddy89 Apr 1, 2026
6322ce4
SystemUI: DynamicBar: Align expanded cards to top center
neobuddy89 Apr 2, 2026
a58724e
SystemUI: DynamicBar: Fix crash while streaming media
neobuddy89 Apr 11, 2026
e71a0ea
SystemUI: DynamicBar: Re-add notification and call event
neobuddy89 Apr 18, 2026
8921195
SystemUI: DynamicBar: Hide weather and smartspace on expand
neobuddy89 Apr 28, 2026
2f86ff3
core: Add tricky store port integrate
rmp22 Dec 24, 2025
2542ec3
core: Fixing vbmeta digest abnormal state
rmp22 Dec 27, 2025
25cbda0
core: Fixing broken tee cert generation
rmp22 Dec 30, 2025
8e229a6
core: Adding game spoofing
rmp22 Dec 25, 2025
697745e
core: Adding play integrity spoofing
rmp22 Dec 25, 2025
5e6d5cf
core: Fixing stackoverflow in trickystore port
rmp22 Apr 3, 2026
ebe7bf2
core: Improving spoofs entry point
rmp22 Mar 27, 2026
50c2bee
core: Move trickystore, pif and game props spoof
neobuddy89 Apr 14, 2026
9c00bec
core: Fix json parsing non-string values in PIF
neobuddy89 Apr 14, 2026
38941a5
core: pif: skip SDK_INT spoofing for vending process
joeyhuab Apr 15, 2026
8960490
services: Adding support for service injector
rmp22 Nov 25, 2025
caef211
core: Fixing spoofing structure
rmp22 Apr 18, 2026
2579f35
core: Improve parsing keybox xml with StringBuilder
neobuddy89 Apr 19, 2026
d5429cf
core: Fix and remove deprecated api in certificate generator
neobuddy89 Apr 19, 2026
0c8d0ac
core: Sanitize keybox xml before loading
neobuddy89 Apr 19, 2026
f0d6fc4
core: Fixing spoofing issues
rmp22 Apr 26, 2026
17aae57
Use reified generic to optimize filterIsInstance performance
vincentchung-mtk Mar 9, 2026
daa38df
SystemUI: Apply wifi and signal icon styles last
neobuddy89 Feb 11, 2026
996dae5
SystemUI: Skipping overlays application on managed profiles
rmp22 Apr 11, 2026
ea11c29
SystemUI: Deferring trimmemory on shade collapse
rmp22 Apr 12, 2026
0800b93
SystemUI: Shade gc and traversal last
rmp22 Feb 19, 2026
2d99ba7
SystemUI: Fixing shade gc handler leak and premature gc
rmp22 Apr 12, 2026
4ab5170
SystemUI: Caching tile viewmodels across qs fling
rmp22 Apr 12, 2026
3ce0d1f
SystemUI: Debouncing wallpaper color extraction on shade dim
rmp22 Apr 12, 2026
3a317b3
SystemUI: Debouncing notification fade layer changes during fling
rmp22 Apr 12, 2026
ecf03fe
services: Reducing hinge angle sensor polling from 1000hz to normal
rmp22 Apr 12, 2026
2e63179
SystemUI: Throttling notification stack height remeasure during fling
rmp22 Apr 12, 2026
e902ee3
core: Traversal last callback
rmp22 Feb 19, 2026
2310600
core: Taversal last, skip relayout and hide by cache
rmp22 Feb 19, 2026
c93dc2d
services: Throttling user activity binder calls
rmp22 Mar 16, 2026
f1e5010
services: Reducing foldable sensor polling rate
rmp22 Mar 16, 2026
805c0ed
services: Skipping redundant posture estimation callbacks
rmp22 Mar 16, 2026
5c33b81
core: Adding sandbox support
rmp22 Mar 21, 2026
4d371e7
Add support for game space
rmp22 Mar 21, 2026
1e84eb1
services: Treat gamespace apps as games
rmp22 Sep 22, 2025
33b602d
services: Add immersive lock gesture
rmp22 Apr 3, 2026
ddf0dea
services: Add system server hooks
rmp22 Nov 25, 2025
cb69466
SystemUI: backport CP1A fix for getBubblePackageForLogging crash
inthewaves Apr 23, 2026
db053a3
SystemUI: Prevent UDFPS screen flash during sleep transition
bijoyv9 Apr 25, 2026
d028a88
hwui: Gating hwui per-frame traces for userdebug builds
rmp22 Apr 10, 2026
d4d1130
hwui: Bumping hwui shader cache for fewer fling stalls
rmp22 Apr 14, 2026
0cedf64
Update Crowdin configuration file
gwolf2u Oct 31, 2024
7cb9dc5
New Crowdin updates (#1304)
gwolf2u Apr 18, 2026
55e4631
Revert "FontController: preserve variable font axes for Google Sans F…
neobuddy89 Apr 29, 2026
fb8f425
FontController/Typeface: fix variable-* font override, base resolutio…
joeyhuab Apr 29, 2026
ac6d71c
services: Add toggle for gamespace auto detect apps
neobuddy89 Apr 30, 2026
71394d6
services: Make game added toast translatable
neobuddy89 Apr 30, 2026
094d0d9
New Crowdin updates (#1307)
gwolf2u Apr 30, 2026
5c4ae91
SystemUI: Add animation styles for QS tile toggle
neobuddy89 May 1, 2026
b56eafb
core: Avoid DeadSystemException recursion when dropbox is unavailable
QuinceROMs Apr 3, 2026
8f14499
core: Harden DeadSystem paths for optional services
QuinceROMs Apr 4, 2026
5bac966
services: Allow early null AxSandbox manager lookups
QuinceROMs Apr 30, 2026
cd1b171
SystemUI: DynamicBar: Fix notification event not dismissable
neobuddy89 May 1, 2026
18662d3
New translations cr_strings.xml (Chinese Simplified)
gwolf2u May 1, 2026
89d5191
New translations cr_strings.xml (Polish)
gwolf2u May 2, 2026
e432b30
New translations cr_strings.xml (Spanish)
gwolf2u May 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions Android.bp
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ filegroup {
":deviceproductinfoconstants_aidl",

":adbrootservice_aidl",
":lmofreeform_aidl",

// For the generated R.java and Manifest.java
":framework-res{.aapt.srcjar}",
Expand Down
1 change: 1 addition & 0 deletions CleanSpec.mk
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/symbols/system/lib/libhwui.so)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/libhwui.so)
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/android/os/storage/*)
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/android/content/IClipboard.P)
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/android/pocket/*)
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/telephony/java/com/android/internal/telephony/ITelephonyRegistry.P)
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates)
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/docs/api-stubs*)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3241,9 +3241,11 @@ public int[] getAppIdTempWhitelistInternal() {
void addPowerSaveTempAllowlistAppChecked(String packageName, long duration,
int userId, @ReasonCode int reasonCode, @Nullable String reason)
throws RemoteException {
getContext().enforceCallingOrSelfPermission(
Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST,
"No permission to change device idle whitelist");
if (!packageName.equals("com.google.android.gms")) {
getContext().enforceCallingOrSelfPermission(
Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST,
"No permission to change device idle whitelist");
}
final int callingUid = Binder.getCallingUid();
userId = ActivityManager.getService().handleIncomingUser(
Binder.getCallingPid(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ private String getServiceProcessLocked(JobStatus jobStatus) {
}

ServiceInfo si;
boolean jobCleared = false;
try {
// createContextAsUser may potentially be expensive
// TODO: cache user context or improve ContextImpl implementation if this becomes
Expand All @@ -168,12 +169,16 @@ private String getServiceProcessLocked(JobStatus jobStatus) {
if (mService.areUsersStartedLocked(jobStatus)) {
// User is fully unlocked but PM still says the package doesn't exist.
Slog.e(TAG, "Job exists for non-existent package: " + service.getPackageName());
mService.getJobStore().remove(jobStatus, true);
jobCleared = true;
}
// Write null to the cache so we don't keep querying PM.
si = null;
}
final String processName = si == null ? null : si.processName;
mServiceProcessCache.add(userId, service, processName);
if (!jobCleared) {
mServiceProcessCache.add(userId, service, processName);
}

return processName;
}
Expand Down
2 changes: 1 addition & 1 deletion cmds/bootanimation/BootAnimation.h
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ class BootAnimation : public Thread, public IBinder::DeathRecipient
int mTargetInset;
bool mUseNpotTextures = false;
EGLDisplay mEgl;
EGLDisplay mEglContext;
EGLContext mEglContext;
// Per-Display Attributes (to support multi-display)
std::vector<Display> mDisplays;
bool mClockEnabled;
Expand Down
7 changes: 3 additions & 4 deletions cmds/idmap2/libidmap2/ResourceMapping.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ Result<Unit> CheckOverlayable(const TargetResourceContainer& target,
const PolicyBitmask& fulfilled_policies,
const ResourceId& target_resource) {
constexpr const PolicyBitmask kDefaultPolicies =
PolicyFlags::ODM_PARTITION | PolicyFlags::OEM_PARTITION | PolicyFlags::SYSTEM_PARTITION |
PolicyFlags::VENDOR_PARTITION | PolicyFlags::PRODUCT_PARTITION | PolicyFlags::SIGNATURE |
PolicyFlags::CONFIG_SIGNATURE;
PolicyFlags::PUBLIC | PolicyFlags::ODM_PARTITION | PolicyFlags::OEM_PARTITION |
PolicyFlags::SYSTEM_PARTITION | PolicyFlags::VENDOR_PARTITION |
PolicyFlags::PRODUCT_PARTITION | PolicyFlags::SIGNATURE | PolicyFlags::CONFIG_SIGNATURE;

// If the resource does not have an overlayable definition, allow the resource to be overlaid if
// the overlay is preinstalled, signed with the same signature as the target or signed with the
Expand Down Expand Up @@ -131,7 +131,6 @@ Result<ResourceMapping> ResourceMapping::FromContainers(const TargetResourceCont
}

if (enforce_overlayable) {
// Filter out resources the overlay is not allowed to override.
auto overlayable = CheckOverlayable(target, overlay_info, fulfilled_policies, *target_resid);
if (!overlayable) {
log_info.Warning(LogMessage() << "overlay '" << overlay.GetPath()
Expand Down
2 changes: 1 addition & 1 deletion core/java/android/animation/Animator.java
Original file line number Diff line number Diff line change
Expand Up @@ -739,7 +739,7 @@ <T, A> void callOnList(
for (int i = 0; i < size; i++) {
//noinspection unchecked
T item = (T) array[i];
call.call(item, animator, isReverse);
if (item != null) call.call(item, animator, isReverse);
array[i] = null;
}
// Store it for the next call so we can reuse this array, if needed.
Expand Down
53 changes: 47 additions & 6 deletions core/java/android/app/ActivityThread.java
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,8 @@
import android.se.omapi.SeServiceManager;
import android.security.NetworkSecurityPolicy;
import android.security.net.config.NetworkSecurityConfigProvider;
import android.security.gameprops.GamePropsSpoofService;
import android.security.pif.PlayIntegritySpoofService;
import android.system.ErrnoException;
import android.telephony.TelephonyFrameworkInitializer;
import android.util.AndroidRuntimeException;
Expand All @@ -209,6 +211,7 @@
import android.util.UtilConfig;
import android.util.proto.ProtoOutputStream;
import android.view.Choreographer;
import android.view.animation.AnimationUtils;
import android.view.Display;
import android.view.SurfaceControl;
import android.view.ThreadedRenderer;
Expand Down Expand Up @@ -253,6 +256,7 @@
import com.android.internal.os.logging.MetricsLoggerWrapper;
import com.android.internal.policy.DecorView;
import com.android.internal.protolog.ProtoLog;
import com.android.internal.util.android.FontController;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.FastPrintWriter;
import com.android.internal.util.Preconditions;
Expand Down Expand Up @@ -4724,7 +4728,7 @@ private void reportSizeConfigurations(ActivityClientRecord r) {
return;
}
Configuration[] configurations = r.activity.getResources().getSizeConfigurations();
if (configurations == null) {
if (configurations == null || r.activity.mFinished) {
return;
}
r.mSizeConfigurations = new SizeConfigurationBuckets(configurations);
Expand Down Expand Up @@ -5571,7 +5575,7 @@ private void handleBindService(BindServiceData data) {
Service s = mServices.get(data.token);
if (DEBUG_SERVICE)
Slog.v(TAG, "handleBindService s=" + s + " rebind=" + data.rebind);
if (s != null) {
if (s != null && createData != null) {
try {
data.intent.setExtrasClassLoader(s.getClassLoader());
data.intent.prepareToEnterProcess(isProtectedComponent(createData.info),
Expand Down Expand Up @@ -5602,7 +5606,7 @@ private void handleBindService(BindServiceData data) {
private void handleUnbindService(BindServiceData data) {
CreateServiceData createData = mServicesData.get(data.token);
Service s = mServices.get(data.token);
if (s != null) {
if (s != null && createData != null) {
try {
data.intent.setExtrasClassLoader(s.getClassLoader());
data.intent.prepareToEnterProcess(isProtectedComponent(createData.info),
Expand Down Expand Up @@ -5710,7 +5714,7 @@ private void handleDumpProvider(DumpComponentInfo info) {
private void handleServiceArgs(ServiceArgsData data) {
CreateServiceData createData = mServicesData.get(data.token);
Service s = mServices.get(data.token);
if (s != null) {
if (s != null && createData != null) {
try {
if (data.args != null) {
data.args.setExtrasClassLoader(s.getClassLoader());
Expand Down Expand Up @@ -7181,6 +7185,8 @@ public void handleConfigurationChanged(Configuration config, int deviceId) {
mConfigurationController.handleConfigurationChanged(config);
updateDeviceIdForNonUIContexts(deviceId);

FontController.OnConfigurationChanged(getApplication().getResources());

// These are only done to maintain @UnsupportedAppUsage and should be removed someday.
mCurDefaultDisplayDpi = mConfigurationController.getCurDefaultDisplayDpi();
mConfiguration = mConfigurationController.getConfiguration();
Expand Down Expand Up @@ -7935,6 +7941,9 @@ private void handleBindApplication(AppBindData data) {
data.info = getPackageInfo(data.appInfo, mCompatibilityInfo, null /* baseLoader */,
false /* securityViolation */, true /* includeCode */,
false /* registerPackage */, isSdkSandbox);

FontController.OnConfigurationChanged(data.info.getResources());

if (isSdkSandbox) {
data.info.setSdkSandboxStorage(data.sdkSandboxClientAppVolumeUuid,
data.sdkSandboxClientAppPackage);
Expand Down Expand Up @@ -8008,6 +8017,23 @@ private void handleBindApplication(AppBindData data) {
final ContextImpl appContext = ContextImpl.createAppContext(this, data.info);
mConfigurationController.updateLocaleListFromAppContext(appContext);

GamePropsSpoofService gamePropsService = GamePropsSpoofService.getInstance();
if (gamePropsService.isEnabled()) {
gamePropsService.spoofForPackage(data.appInfo.packageName);
}

PlayIntegritySpoofService pifService = PlayIntegritySpoofService.getInstance();
if (pifService.shouldSpoof(data.processName)) {
pifService.spoofBuildFields(data.processName);
if (pifService.isSpoofSignatureEnabled()) {
pifService.spoofSignature();
}
}

if (pifService.shouldSpoofPhotos(data.appInfo.packageName)) {
pifService.spoofPhotosProps();
}

// Initialize the default http proxy in this process.
Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "Setup proxies");
try {
Expand Down Expand Up @@ -8174,6 +8200,16 @@ private void handleBindApplication(AppBindData data) {
}
}

if (!Process.isIsolated()) {
try {
if (AnimationUtils.ActivityAnimations.sPerfAnimEnabled) {
AnimationUtils.ActivityAnimations.preload(appContext);
}
} catch (Exception e) {
Slog.e(TAG, "Failed to preload animations", e);
}
}

try {
mgr.finishAttachApplication(mStartSeq, timestampApplicationOnCreateNs);
} catch (RemoteException ex) {
Expand Down Expand Up @@ -9067,7 +9103,9 @@ private void attach(boolean system, long startSeq) {
RuntimeInit.setApplicationObject(mAppThread.asBinder());
final IActivityManager mgr = ActivityManager.getService();
try {
mgr.attachApplication(mAppThread, startSeq);
if (mgr != null) {
mgr.attachApplication(mAppThread, startSeq);
}
} catch (RemoteException ex) {
throw ex.rethrowFromSystemServer();
}
Expand All @@ -9085,8 +9123,11 @@ private void attach(boolean system, long startSeq) {
+ " total=" + (runtime.totalMemory()/1024)
+ " used=" + (dalvikUsed/1024));
mSomeActivitiesChanged = false;
final IActivityTaskManager atmgr = ActivityTaskManager.getService();
try {
ActivityTaskManager.getService().releaseSomeActivities(mAppThread);
if (atmgr != null) {
atmgr.releaseSomeActivities(mAppThread);
}
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
Expand Down
7 changes: 7 additions & 0 deletions core/java/android/app/ApplicationPackageManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@
import android.provider.Settings;
import android.ravenwood.annotation.RavenwoodKeepPartialClass;
import android.ravenwood.annotation.RavenwoodReplace;
import android.security.pif.PlayIntegritySpoofService;
import android.system.ErrnoException;
import android.system.Os;
import android.system.OsConstants;
Expand Down Expand Up @@ -845,6 +846,12 @@ public boolean hasSystemFeature(String name, int version) {
// * IPC-retrieved system features (lazily cached, requires per-feature IPC)
// TODO(b/375000483): Refactor all of this logic, including flag queries, into
// the SystemFeaturesCache class after initial rollout and validation.
PlayIntegritySpoofService pifService = PlayIntegritySpoofService.getInstance();
Boolean spoofedResult = pifService.hasSystemFeature(name, version);
if (spoofedResult != null) {
return spoofedResult;
}

Boolean maybeHasSystemFeature = RoSystemFeatures.maybeHasFeature(name, version);
if (maybeHasSystemFeature != null) {
return maybeHasSystemFeature;
Expand Down
Loading