Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
956 commits
Select commit Hold shift + click to select a range
ed8b4de
media: disable noisy exifinterface logs
rmp22 Aug 23, 2025
94b3283
core: add guard to null ResourcesImpl log spam
rmp22 Aug 23, 2025
03ccf39
SystemUI: Revert new landscape notification behaviour
prochy-exe May 28, 2022
96b599e
Update CE storage handling in StorageManagerService
cevente Feb 12, 2026
dddcc52
SystemUI: Fix imageloader spam in BrightnessSliderViewModel
neobuddy89 Oct 22, 2025
738fa22
SystemUI: Extend QS Header Image to support animated GIF/WEBP [1/2]
kamikaonashi Dec 4, 2025
966439d
SystemUI: Start QS header animation only on expanding
neobuddy89 Feb 14, 2026
1639f51
SystemUI: Fix concurrent modification exception on config change
neobuddy89 Dec 9, 2025
cd174fa
SystemUI: ConfigurationControllerImpl: Avoid NullPointerException
someone5678 Dec 15, 2024
75f6ca5
SystemUI: Add notification row transluency toggle
rmp22 Jan 22, 2026
748af3d
SystemUI: Fix notification transparency issues
rmp22 Jan 22, 2026
52fd952
SystemUI: Add toggle for translucent notifications on lockscreen
neobuddy89 Oct 9, 2025
d36042b
SystemUI: Add charging bolt indicator for text-only battery style
Ghosuto Feb 16, 2026
fb5cf37
Allow complex resource types to follow references
talle112 Feb 12, 2026
2527225
base: Add support for daily and weekly data usage cycles [1/2]
idoybh Aug 22, 2025
39c45c9
base: Fix crash caused by back gesture on popup view
Ruyue-Kinsenka Feb 11, 2026
ed86e3b
SystemUI: Hide mobile data tile when unsupported
neobuddy89 Feb 23, 2026
6d008ad
SystemUI: Add QS tile gradient customization
neobuddy89 Feb 25, 2026
bff6309
SystemUI: Add QS brightness slider gradient customization
neobuddy89 Feb 25, 2026
45faef0
SystemUI: Add volume slider gradient customization
neobuddy89 Feb 26, 2026
8e8cb75
SystemUI: Add custom gradient start/end color support
neobuddy89 Feb 26, 2026
7fbb06f
SystemUI: Add gradient for volume buttons along with slider
neobuddy89 Mar 3, 2026
5673d4c
SystemUI: Fix up gradient related glitch in volume slider
neobuddy89 Mar 8, 2026
7e20f4c
Avoid NPE in CriticalEventLog.saveLogToFileNow()
mnkassis Feb 26, 2026
0f31096
SettingsTheme: Correctly theming AlertDialog with M3 colors
someone5678 Oct 1, 2025
6ec4312
SystemUI: Fix notification flicker with transluency enabled
neobuddy89 Mar 3, 2026
06dc9dc
Update battery info every second when device is charging
SagarMakhar Aug 7, 2021
af42790
Add config overlay for battery info update
ShevT Jan 12, 2023
7996467
Avoid memory leak of activity in ExitTransitionCoordinator
Mar 6, 2026
548bacc
SystemUI: Allow Omnijaw weather to show on aod
Ghosuto Jan 11, 2026
9cf0ba3
SystemUI: WeatherViewController: Implement settings observer
neobuddy89 Mar 15, 2026
4e93751
Update EGL context type from EGLDisplay to EGLContext
Mar 17, 2026
e67bc28
SystemUI: keep Wi-Fi QS tile subtitle Wi-Fi-specific
geek0609 Mar 18, 2026
17603a4
SystemUI: Introduce Clock face feature
minaripenguin Oct 14, 2024
37de1e5
SystemUI: Implement weather views for clock styles
minaripenguin Feb 24, 2026
24b015e
SystemUI: Add layout section for clock style
Arman-ATI Feb 24, 2026
f2cb124
SystemUI: Clocks: Add various clock styles
Ghosuto Nov 9, 2024
7ac1ebc
SystemUI: Lock Screen Clock Accent Color Option
Ghosuto Apr 10, 2025
c6fd738
SystemUI: Improve clock face color option
Ghosuto May 23, 2025
5e5dc4a
SystemUI: Hide clock properly when clock style set
tejas101k Feb 27, 2026
13315cf
SystemUI: Allow adjust height of lockscreen clock styles [1/2]
tejas101k Feb 27, 2026
8167646
SystemUI: Add support custom clock color [1/2]
Ghosuto Feb 27, 2026
81ae8a4
SystemUI: Add block and bubble to no-color exclude list
Ghosuto Mar 7, 2026
ff8117e
SystemUI: Import stylish clock styles
neobuddy89 Mar 17, 2026
e9804dd
SystemUI: Clocks: Various layout and font fixes
neobuddy89 Mar 19, 2026
b806a66
SystemUI: Added new clock styles
Ghosuto Mar 24, 2026
09855b8
SystemUI: ClockStyle: consolidate and sync with upstream improvements
Ghosuto Mar 21, 2026
185af49
SystemUI: Allow change custom lockscreen clock size [1/2]
Ghosuto Mar 18, 2026
19aafc8
SystemUI: Add custom clock aod transition [1/2]
Ghosuto Mar 24, 2026
896eea2
SystemUI: Prevent the clock font from resetting after long idle
Ghosuto Apr 20, 2026
d696dd6
SystemUI: Fix custom clock scale clipping
Ghosuto May 4, 2026
7162af2
SystemUI: Introduce new oem like clock styles
Ghosuto May 3, 2026
f8eee3e
SystemUI: Add more clocks [1/2]
Ghosuto May 17, 2026
629ca27
SystemUI: Fix up and improve clock styles
neobuddy89 May 23, 2026
80e48e1
SystemUI: Refactor clock styles for perf
neobuddy89 May 23, 2026
a7f9a9c
StrictMode triggers a watchdog
Mar 20, 2026
8c77333
audio: fix direct byte buffer not release
Mar 20, 2026
bff0874
SystemUI: Add classic QS panel style for tiles
neobuddy89 Mar 26, 2026
f4c9343
SystemUI: Fix classic tile specs in some instances
neobuddy89 Mar 28, 2026
0d64351
SystemUI: Add more classic icon shapes
neobuddy89 Apr 5, 2026
2317ae7
SystemUI: Fix QS classic tile style jitter during panel expansion
Ghosuto Apr 3, 2026
c48663c
SystemUI: Fix qs tile font variable
Ghosuto Apr 4, 2026
8fc71cb
SystemUI: hide ticks on flashlight slider
geek0609 Mar 10, 2026
8823c53
AppOpsService: treat empty attribution tags as absent
QuinceROMs Mar 20, 2026
e989b6e
InsetsController: skip redundant hide(ime()) tracking
QuinceROMs Mar 20, 2026
842ae54
SystemUI: clear stale LogAccessDialog timeouts
QuinceROMs Mar 20, 2026
22a4536
Adding theme engine interface
rmp22 Mar 15, 2026
5315366
MediaRouterService: fix A2DP incorrectly suppressed on USB disconnect
Apr 2, 2026
d4aad5d
Fixed the issue where settings_secure.xml.fallback fails to generate …
Apr 1, 2026
1493f6b
Fix the issue of digital jitter during the countdown when using "PIN"…
Apr 3, 2026
837510a
Allow sending vendor- or device-specific commands to the camera HAL.
maniac103 Mar 3, 2015
657f306
fix StrictMode BackgroundActivityLaunchCallback leak
inthewaves Mar 28, 2026
391b5ca
core: Add perf activity anim override
rmp22 Mar 21, 2026
16e65ea
core: Upgrading to m3e animation specs
rmp22 Apr 18, 2026
a137a1f
optimizing animations performance
rmp22 Apr 23, 2026
f459545
SystemUI: Adding statusbar dynamic bar
rmp22 Feb 24, 2026
9a09e0a
SystemUI: Suppress Dynamic Bar notifications when Danmaku is active
Saikrishna1504 Mar 31, 2026
55f7dae
SystemUI: DynamicBar: Align lockscreen chip with keyguard indication …
bijoyv9 Mar 29, 2026
3d1eb16
SystemUI: DynamicBar: Fixing issues | enhance
rmp22 Mar 30, 2026
d0dd23f
SystemUI: DynamicBar: Fixing expanded content top padding
rmp22 Apr 13, 2026
bf21637
SystemUI: DynamicBar: Fixing recorder | notification issues
rmp22 Apr 11, 2026
7c60923
SystemUI: DynamicBar: Auto-focus reply field when clicking reply button
Saikrishna1504 Apr 11, 2026
7979bc5
SystemUI: DynamicBar: Allow opening app when reply field is focused
Saikrishna1504 Apr 11, 2026
80adf69
SystemUI: DynamicBar: Limiting status bar chip width
rmp22 Apr 11, 2026
b7a7014
SystemUI: DynamicBar: Cleaning up ux | animations enhance
rmp22 Apr 19, 2026
cabd595
SystemUI: DynamicBar: Fix our torch impl
neobuddy89 Mar 31, 2026
7403ee3
SystemUI: Add quicklook client
rmp22 Feb 16, 2026
6f4d631
SystemUI: Adding platform hooks
rmp22 Feb 16, 2026
ae29d3f
SystemUI: Adapt platform hooks for dynamic bar usage only
neobuddy89 Apr 14, 2026
9a34f73
SystemUI: DynamicBar: Use actual charging info on lock screen
neobuddy89 Apr 4, 2026
e9ca826
SystemUI: DynamicBar: Stabilize and clean up charging info formatting
bijoyv9 Apr 26, 2026
562f892
SystemUI: DynamicBar: Refine charging chip layout and parsing logic
bijoyv9 Apr 26, 2026
19de5fb
SystemUI: DynamicBar: Fix expanded content issue
rmp22 Apr 24, 2026
2f48268
SystemUI: DynamicBar: Add smooth squiggly progress for media content
neobuddy89 Apr 1, 2026
4174313
SystemUI: DynamicBar: Fix seekbar scrubbing UX for media content
neobuddy89 Apr 1, 2026
7a629b4
SystemUI: DynamicBar: Align expanded cards to top center
neobuddy89 Apr 2, 2026
4edf893
SystemUI: DynamicBar: Fix crash while streaming media
neobuddy89 Apr 11, 2026
0c39ece
SystemUI: DynamicBar: Re-add notification and call event
neobuddy89 Apr 18, 2026
90acbc6
SystemUI: DynamicBar: Hide weather and smartspace on expand
neobuddy89 Apr 28, 2026
a8344c8
SystemUI: DynamicBar: Fix notification event not dismissable
neobuddy89 May 1, 2026
1b55cb6
SystemUI: DynamicBar: Hide custom clock on expanded card
neobuddy89 May 1, 2026
0fc3bed
SystemUI: DynamicBar: Reducing cpu usage
rmp22 May 2, 2026
1a39ab5
SystemUI: DynamicBar: Charging bolt improvements on lockscreen
iusmac Apr 28, 2026
95eb60c
SystemUI: DynamicBar: fixing keyguard chips ui issues
rmp22 May 13, 2026
d537c4b
SystemUI: DynamicBar: Collapse expanded panel when touched outside
neobuddy89 May 23, 2026
1aec7f5
core: Add tricky store port integrate
rmp22 Dec 24, 2025
2e9342a
core: Fixing vbmeta digest abnormal state
rmp22 Dec 27, 2025
4663632
core: Fixing broken tee cert generation
rmp22 Dec 30, 2025
36b5d1d
core: Adding game spoofing
rmp22 Dec 25, 2025
f2abbf5
core: Adding play integrity spoofing
rmp22 Dec 25, 2025
13f7764
core: Fixing stackoverflow in trickystore port
rmp22 Apr 3, 2026
4602e91
core: Improving spoofs entry point
rmp22 Mar 27, 2026
a478c51
core: Move trickystore, pif and game props spoof
neobuddy89 Apr 14, 2026
d0124c2
core: Fix json parsing non-string values in PIF
neobuddy89 Apr 14, 2026
8201c37
core: pif: skip SDK_INT spoofing for vending process
joeyhuab Apr 15, 2026
77b0f17
services: Adding support for service injector
rmp22 Nov 25, 2025
3256fd7
core: Fixing spoofing structure
rmp22 Apr 18, 2026
93cda15
core: Improve parsing keybox xml with StringBuilder
neobuddy89 Apr 19, 2026
507db75
core: Fix and remove deprecated api in certificate generator
neobuddy89 Apr 19, 2026
ead80c1
core: Sanitize keybox xml before loading
neobuddy89 Apr 19, 2026
a7fcde6
core: Fixing spoofing issues
rmp22 Apr 26, 2026
1475a04
core: pif: Add separate tunable for gphotos spoof
neobuddy89 May 9, 2026
bee7434
services: spoof: Read settings from current user
neobuddy89 May 10, 2026
6d09b2c
core: pif: Enable photos spoof by default
neobuddy89 May 10, 2026
6152ca7
security: Harden TrickyStore keybox validation
joeyhuab May 27, 2026
22ba22f
core: PIF: align spoofing behavior with upstream PlayIntegrityFix
joeyhuab Apr 23, 2026
e2c3de6
Use reified generic to optimize filterIsInstance performance
vincentchung-mtk Mar 9, 2026
dbc797f
SystemUI: Apply wifi and signal icon styles last
neobuddy89 Feb 11, 2026
57920d3
SystemUI: Skipping overlays application on managed profiles
rmp22 Apr 11, 2026
0ece79e
SystemUI: Deferring trimmemory on shade collapse
rmp22 Apr 12, 2026
eb54160
SystemUI: Shade gc and traversal last
rmp22 Feb 19, 2026
55fe1c1
SystemUI: Fixing shade gc handler leak and premature gc
rmp22 Apr 12, 2026
26ad18f
SystemUI: Caching tile viewmodels across qs fling
rmp22 Apr 12, 2026
c3bc4e5
SystemUI: Debouncing wallpaper color extraction on shade dim
rmp22 Apr 12, 2026
26697ca
SystemUI: Debouncing notification fade layer changes during fling
rmp22 Apr 12, 2026
fb712a4
services: Reducing hinge angle sensor polling from 1000hz to normal
rmp22 Apr 12, 2026
2b153f2
SystemUI: Throttling notification stack height remeasure during fling
rmp22 Apr 12, 2026
1af3725
core: Traversal last callback
rmp22 Feb 19, 2026
566648f
core: Taversal last, skip relayout and hide by cache
rmp22 Feb 19, 2026
f704953
services: Throttling user activity binder calls
rmp22 Mar 16, 2026
c65194c
services: Reducing foldable sensor polling rate
rmp22 Mar 16, 2026
7aff209
services: Skipping redundant posture estimation callbacks
rmp22 Mar 16, 2026
13c8bac
core: Adding sandbox support
rmp22 Mar 21, 2026
346107a
sandbox: Adding secure file vault support
Saikrishna1504 May 2, 2026
a014b77
sandbox: Optimizing sandbox call sites
rmp22 Apr 30, 2026
f85ea98
Add support for game space
rmp22 Mar 21, 2026
2b046d2
services: Treat gamespace apps as games
rmp22 Sep 22, 2025
ba4bad4
services: Add immersive lock gesture
rmp22 Apr 3, 2026
b7b0c89
services: Add system server hooks
rmp22 Nov 25, 2025
c736384
SystemUI: backport CP1A fix for getBubblePackageForLogging crash
inthewaves Apr 23, 2026
94f5eb2
SystemUI: Prevent UDFPS screen flash during sleep transition
bijoyv9 Apr 25, 2026
27ace3a
hwui: Gating hwui per-frame traces for userdebug builds
rmp22 Apr 10, 2026
80b745b
hwui: Bumping hwui shader cache for fewer fling stalls
rmp22 Apr 14, 2026
7e60a88
FontController/Typeface: fix variable-* font override, base resolutio…
joeyhuab Apr 29, 2026
fad7a5e
services: Add toggle for gamespace auto detect apps
neobuddy89 Apr 30, 2026
20ff339
services: Make game added toast translatable
neobuddy89 Apr 30, 2026
dc8761b
SystemUI: Add animation styles for QS tile toggle
neobuddy89 May 1, 2026
76b2f38
core: Avoid DeadSystemException recursion when dropbox is unavailable
QuinceROMs Apr 3, 2026
a339a1b
core: Harden DeadSystem paths for optional services
QuinceROMs Apr 4, 2026
8bf3aca
services: Allow early null AxSandbox manager lookups
QuinceROMs Apr 30, 2026
914f811
SystemUI: Add more QS tile animation styles
neobuddy89 May 2, 2026
8033a48
Pulse: Add subtle haptics on bass spikes
neobuddy89 May 3, 2026
bf6e48c
Pulse: Allow configure bass haptics playback
neobuddy89 May 3, 2026
dd6a41b
SystemUI: Allow devices to disable Smart Pixels on UDFPS
ShevT Dec 15, 2022
cb643a4
SystemUI: Fix computeChargeTimeRemaining regression
rmp22 May 6, 2026
186a956
SystemUI: Fix platform hooks regressions
rmp22 May 6, 2026
2305be5
SystemUI: Fix connectivity callbackhandler regressions
rmp22 May 6, 2026
f298c51
base: Fixing wallpaper token leak
rmp22 May 1, 2026
f8bcc78
core: Fixing zygote socket session leak
rmp22 May 2, 2026
fa06b39
services: Fix high-res wallpaper performance issue
rmp22 May 6, 2026
d67f6b5
SystemUI: Add back gesture, charging anim, battery themes support
rmp22 Apr 6, 2026
c725b8a
Fix system_server deadlock between DisplayManagerService and External…
May 7, 2026
4034b63
Reduce blocking operation on display thread
Aug 29, 2025
dfcb13c
services: Optimizing windowstate hot paths
rmp22 Apr 30, 2026
876bc53
services: Optimizing redundant keyguard checks
rmp22 Apr 30, 2026
c0375a4
services: Optimizing letterbox updates
rmp22 Apr 30, 2026
a230815
services: Optimizing window rounded corners updates
rmp22 Apr 30, 2026
9c65601
services: Optimizing redundant status bar top hide checks
rmp22 Apr 30, 2026
e5db6d0
services: Disabling dma buff stats pull
rmp22 Apr 30, 2026
095a543
services: Optimizing redundant updateLockscreenTimeout updates
rmp22 Apr 30, 2026
bea0dc4
services: Caching isOverlappingWithNavBar to avoid redundant rectangl…
rmp22 Apr 23, 2026
e4c76de
services: Optimizing navigation bar draws
rmp22 Apr 30, 2026
27c5004
SystemUI: charging: harden charging ripple cleanup against stale call…
QuinceROMs May 9, 2026
7d481a4
Fix NPE in JobServiceContext.handleOpTimeoutLocked()
May 9, 2026
593fecf
Fix flaky test in b/504933143.
Apr 30, 2026
49bb50b
SystemUI: Fix notification app lock issues
rmp22 May 12, 2026
b554557
core: sandbox: Fix app lock issue
rmp22 May 28, 2026
fff8036
SystemUI: Port statusbar brightness control
Alberto97 Mar 28, 1997
579b7b7
SystemUI: Fix and add status bar brightness control for lockscreen
neobuddy89 May 14, 2026
e0edc76
core: Fix dispatch detach window race
rmp22 May 14, 2026
226f989
core: Caching views to optimize performance
rmp22 May 2, 2026
7a605b4
Prevent system_server from restarting due to app issues.
Apr 13, 2026
4712825
AMS appDiedLocked killProcessQuiet is vulnerable to PID reuse race, c…
May 14, 2026
b50b47d
backport fix for stuck IME input from May 2026 Pixel update
muhomorr May 5, 2026
ff62572
SystemUI: Follow material expressive icons for status bar tuner
neobuddy89 May 16, 2026
b60f3d5
SystemUI: tuner: Update statusbar tuner icons
kleidione Feb 2, 2026
1baf411
SettingsLib: Force enable expressive theme
neobuddy89 May 16, 2026
dae2f41
services: Fix performance mode issue
rmp22 May 14, 2026
1b3aab0
haptics: Allow to set predefined feedback for texture tick effect
iusmac May 17, 2026
8ad0488
SystemUI: Add custom carrier text customization
Claymore1297 Feb 1, 2026
3ba88dd
SystemUI: Add customization to select carrier label location
neobuddy89 May 22, 2026
739dadf
fw/b: Suggestion Popup: Tint properly
BadDaemon May 20, 2026
00f2c3e
core: treat redraws and stretch effects as movement
realahnet May 18, 2026
65f4082
pm: clear tracked changed states in PackageStateMutator
May 7, 2026
8b32457
base: Allow locking tasks to recents [1/2]
SagarMakhar Aug 28, 2021
3f3410a
Remove unconditional log in add()
sureshvk5 May 27, 2026
c5d69b1
core: hide clone targets from regular Open with
Epikaigle May 30, 2026
ca75795
SystemUI: Fix quick pulldown regression with statusbar brightness con…
neobuddy89 Jun 1, 2026
4296a0b
SystemUI: Fix slider haptic issue
rmp22 May 30, 2026
3a65675
sandbox: improving vault file management
rmp22 May 18, 2026
6952db9
ThemeEngine: fixing wifi | signal icons sizing
rmp22 May 17, 2026
683dc4c
SystemUI: fixing wifi standard alignment
rmp22 May 17, 2026
fd347b6
ThemeEngine: fixing update broadcasting crashes
rmp22 May 17, 2026
2254175
SystemUI: DynamicBar: fixing touch intercept issue
rmp22 May 17, 2026
106192a
SystemUI: fixing keyguard locked rotation
rmp22 May 25, 2026
3cd644a
SettingsLib: fixing platform apps storage info
rmp22 Jun 2, 2026
d36ecfb
SystemUI: fixing keyguard bypass issue
rmp22 Jun 2, 2026
144e81a
wm: DisplayRotation: Preserve locked rotation during screen state cha…
ArKT-7 May 23, 2026
3bd636e
SystemUI: DynamicBar: Skip biometric unlock on keyguard when disabled
iusmac Jun 5, 2026
e648417
Update Crowdin configuration file
gwolf2u Oct 31, 2024
682aaab
New translations (#1311)
gwolf2u Jun 3, 2026
63fa31a
SystemUI: Hide notifications when quickly expanding QS
adithya2306 Jan 7, 2023
1d035f4
WindowWakeUpPolicy: Don't wake from lid when LID_BEHAVIOR is disabled
CuriousNom Jan 25, 2026
6b6394c
SystemUI: Fix sporadic jumps in statusbar brightness control
neobuddy89 Jun 6, 2026
324c04b
SystemUI: Fix UDFPS animation attach/detach race
firebird11 Jun 5, 2026
ea21868
SystemUI: Add volume slider and ringer mode in QS panel
neobuddy89 Jun 8, 2026
f0e0078
fixup! fixing app lock issue
rmp22 May 30, 2026
e119709
SystemUI: Fix up text clock style
neobuddy89 Jun 9, 2026
1a1416a
SystemUI: ClockStyles: Remove setting center layout programmatically
neobuddy89 Jun 9, 2026
c8b9e10
SystemUI: Fix weather text not following custom clock color
Ghosuto May 30, 2026
a29badf
SystemUI: Extend volume slider modes
neobuddy89 Jun 10, 2026
59a5683
SystemUI: Remove container color background from volume slider in QS
neobuddy89 Jun 10, 2026
91294b8
OmniJaws: Fix concurrency issues in client
neobuddy89 Jun 10, 2026
80984d9
Revert "core: treat redraws and stretch effects as movement"
neobuddy89 Jun 11, 2026
72ae929
wm: don't disable rot hint on low_ram
makinbacon21 Jun 10, 2026
402f4a3
ActionChain: Do not call collectExistenceChange if transition is null
kde-yyds May 24, 2026
e47ec93
core: AHardwareBuffer fixes for oplus camera
spkal01 May 31, 2026
e2b1b6d
Revert "OplusTypeCastingHelper: update stub"
neobuddy89 Jun 12, 2026
f0fc0d9
Revert "Add some fwb stubs from Oplus"
neobuddy89 Jun 12, 2026
f92aa7a
OmniJaws: Add HOURLY_PROJECTION constant for weather content provider
neobuddy89 Jun 12, 2026
5c9e0d0
base: Add an icon for NR_SA (5G Standalone) data connection
idoybh Aug 7, 2025
ff5b679
SystemUI: Add BatteryEventService for Intelligence battery widget
kleidione Mar 11, 2026
03ddf0b
SystemUI: Animate clock doze properly across transitions
neobuddy89 Jun 13, 2026
bfa8996
SystemUI: Skip time updates on lockscreen clock outside keyguard
rmp22 May 6, 2026
1ea54f5
Pulse: Resolve currently playing local media app
neobuddy89 Jun 13, 2026
73bccf8
fixup! base: Initial SenseProvider for FaceSense service
33bca Sep 17, 2025
144e4a5
BatteryStatsViewer: Get matching app info from all user
someone5678 Jul 14, 2025
c147adf
BatteryStatsViewer: Import translations from Weblate
weblate Aug 4, 2025
6db9650
Sandbox: Do not relock app when system sub-activity takes focus in th…
neobuddy89 Jun 14, 2026
e4ff115
SystemUI: Disable tile squishiness animation during QS expansion
iusmac Jun 17, 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 @@ -1485,9 +1485,11 @@ void handleOpTimeoutLocked() {
} else {
Slog.i(TAG, "JS was waiting to stop this job."
+ " Sending onStop: " + getRunningJobNameLocked());
mParams.setStopReason(mPendingStopReason, mPendingInternalStopReason,
mPendingDebugStopReason);
sendStopMessageLocked(mPendingDebugStopReason);
if (mParams != null) {
mParams.setStopReason(mPendingStopReason, mPendingInternalStopReason,
mPendingDebugStopReason);
sendStopMessageLocked(mPendingDebugStopReason);
}
mAnrTimer.discard();
break;
}
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