Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1004 commits
Select commit Hold shift + click to select a range
25c5e17
SystemUI: Add more clocks [1/2]
Ghosuto May 17, 2026
67e8f71
SystemUI: Fix up and improve clock styles
neobuddy89 May 23, 2026
2665dc8
SystemUI: Refactor clock styles for perf
neobuddy89 May 23, 2026
4f379fe
StrictMode triggers a watchdog
Mar 20, 2026
dfb9624
audio: fix direct byte buffer not release
Mar 20, 2026
5efa95d
SystemUI: Add classic QS panel style for tiles
neobuddy89 Mar 26, 2026
8221020
SystemUI: Fix classic tile specs in some instances
neobuddy89 Mar 28, 2026
a60beb2
SystemUI: Add more classic icon shapes
neobuddy89 Apr 5, 2026
4e43335
SystemUI: Fix QS classic tile style jitter during panel expansion
Ghosuto Apr 3, 2026
d487ee6
SystemUI: Fix qs tile font variable
Ghosuto Apr 4, 2026
993571c
SystemUI: hide ticks on flashlight slider
geek0609 Mar 10, 2026
6e7514a
AppOpsService: treat empty attribution tags as absent
QuinceROMs Mar 20, 2026
cd501e7
InsetsController: skip redundant hide(ime()) tracking
QuinceROMs Mar 20, 2026
dcd003f
SystemUI: clear stale LogAccessDialog timeouts
QuinceROMs Mar 20, 2026
567ef01
Adding theme engine interface
rmp22 Mar 15, 2026
01ab64c
MediaRouterService: fix A2DP incorrectly suppressed on USB disconnect
Apr 2, 2026
f47c361
Fixed the issue where settings_secure.xml.fallback fails to generate …
Apr 1, 2026
5d4ae33
Fix the issue of digital jitter during the countdown when using "PIN"…
Apr 3, 2026
f287ec8
Allow sending vendor- or device-specific commands to the camera HAL.
maniac103 Mar 3, 2015
9496055
fix StrictMode BackgroundActivityLaunchCallback leak
inthewaves Mar 28, 2026
6a533b6
core: Add perf activity anim override
rmp22 Mar 21, 2026
e8ee283
core: Upgrading to m3e animation specs
rmp22 Apr 18, 2026
7546c51
optimizing animations performance
rmp22 Apr 23, 2026
0392f50
SystemUI: Adding statusbar dynamic bar
rmp22 Feb 24, 2026
08a1603
SystemUI: Suppress Dynamic Bar notifications when Danmaku is active
Saikrishna1504 Mar 31, 2026
37afcc6
SystemUI: DynamicBar: Align lockscreen chip with keyguard indication …
bijoyv9 Mar 29, 2026
6c1f32e
SystemUI: DynamicBar: Fixing issues | enhance
rmp22 Mar 30, 2026
7660748
SystemUI: DynamicBar: Fixing expanded content top padding
rmp22 Apr 13, 2026
610a599
SystemUI: DynamicBar: Fixing recorder | notification issues
rmp22 Apr 11, 2026
e6f7ff8
SystemUI: DynamicBar: Auto-focus reply field when clicking reply button
Saikrishna1504 Apr 11, 2026
bf378aa
SystemUI: DynamicBar: Allow opening app when reply field is focused
Saikrishna1504 Apr 11, 2026
4cc7f65
SystemUI: DynamicBar: Limiting status bar chip width
rmp22 Apr 11, 2026
4a2c6e5
SystemUI: DynamicBar: Cleaning up ux | animations enhance
rmp22 Apr 19, 2026
d087630
SystemUI: DynamicBar: Fix our torch impl
neobuddy89 Mar 31, 2026
7a9f3d9
SystemUI: Add quicklook client
rmp22 Feb 16, 2026
9f77aa9
SystemUI: Adding platform hooks
rmp22 Feb 16, 2026
a873c38
SystemUI: Adapt platform hooks for dynamic bar usage only
neobuddy89 Apr 14, 2026
d109961
SystemUI: DynamicBar: Use actual charging info on lock screen
neobuddy89 Apr 4, 2026
7cae0f3
SystemUI: DynamicBar: Stabilize and clean up charging info formatting
bijoyv9 Apr 26, 2026
f6fdfd2
SystemUI: DynamicBar: Refine charging chip layout and parsing logic
bijoyv9 Apr 26, 2026
854873d
SystemUI: DynamicBar: Fix expanded content issue
rmp22 Apr 24, 2026
e9a1d75
SystemUI: DynamicBar: Add smooth squiggly progress for media content
neobuddy89 Apr 1, 2026
d008144
SystemUI: DynamicBar: Fix seekbar scrubbing UX for media content
neobuddy89 Apr 1, 2026
4b83cfd
SystemUI: DynamicBar: Align expanded cards to top center
neobuddy89 Apr 2, 2026
d7b21c2
SystemUI: DynamicBar: Fix crash while streaming media
neobuddy89 Apr 11, 2026
d032e97
SystemUI: DynamicBar: Re-add notification and call event
neobuddy89 Apr 18, 2026
9ba57bc
SystemUI: DynamicBar: Hide weather and smartspace on expand
neobuddy89 Apr 28, 2026
c95494c
SystemUI: DynamicBar: Fix notification event not dismissable
neobuddy89 May 1, 2026
baafc05
SystemUI: DynamicBar: Hide custom clock on expanded card
neobuddy89 May 1, 2026
5502c78
SystemUI: DynamicBar: Reducing cpu usage
rmp22 May 2, 2026
9b24235
SystemUI: DynamicBar: Charging bolt improvements on lockscreen
iusmac Apr 28, 2026
bbd5c03
SystemUI: DynamicBar: fixing keyguard chips ui issues
rmp22 May 13, 2026
6213156
SystemUI: DynamicBar: Collapse expanded panel when touched outside
neobuddy89 May 23, 2026
74254be
SystemUI: DynamicBar: fixing touch intercept issue
rmp22 May 17, 2026
979c312
SystemUI: DynamicBar: Skip biometric unlock on keyguard when disabled
iusmac Jun 5, 2026
f1c8e9b
SystemUI: Handle 0% torch strength in dynamic bar
bijoyv9 Jun 14, 2026
f1dbbbf
SystemUI: DynamicBar: Add kill-app action from Recents grid
Ghosuto Jun 14, 2026
81e3754
SystemUI: DynamicBar: Make close icon in recents card more distinct
neobuddy89 Jun 19, 2026
4449b85
SystemUI: DynamicBar: Fix text clipping in recents card
neobuddy89 Jun 19, 2026
d8ecb0b
SystemUI: DynamicBar: Fix media progress drift
neobuddy89 Jun 21, 2026
03d40e1
SystemUI: DynamicBar: Fix Compose Height making event passthrough ins…
Perspective2077 Aug 3, 2026
c2ac2f9
core: Add tricky store port integrate
rmp22 Dec 24, 2025
b489819
core: Fixing vbmeta digest abnormal state
rmp22 Dec 27, 2025
8a19eee
core: Fixing broken tee cert generation
rmp22 Dec 30, 2025
a95a908
core: Adding game spoofing
rmp22 Dec 25, 2025
0d53a6b
core: Adding play integrity spoofing
rmp22 Dec 25, 2025
2171c2a
core: Fixing stackoverflow in trickystore port
rmp22 Apr 3, 2026
4935f62
core: Improving spoofs entry point
rmp22 Mar 27, 2026
7158048
core: Move trickystore, pif and game props spoof
neobuddy89 Apr 14, 2026
c0fb460
core: Fix json parsing non-string values in PIF
neobuddy89 Apr 14, 2026
ab277fa
core: pif: skip SDK_INT spoofing for vending process
joeyhuab Apr 15, 2026
921afac
services: Adding support for service injector
rmp22 Nov 25, 2025
ccb57e9
core: Fixing spoofing structure
rmp22 Apr 18, 2026
e4da439
core: Improve parsing keybox xml with StringBuilder
neobuddy89 Apr 19, 2026
f13029c
core: Fix and remove deprecated api in certificate generator
neobuddy89 Apr 19, 2026
c12b08c
core: Sanitize keybox xml before loading
neobuddy89 Apr 19, 2026
f26f27f
core: Fixing spoofing issues
rmp22 Apr 26, 2026
5c2984a
core: pif: Add separate tunable for gphotos spoof
neobuddy89 May 9, 2026
da28daf
services: spoof: Read settings from current user
neobuddy89 May 10, 2026
42acaff
core: pif: Enable photos spoof by default
neobuddy89 May 10, 2026
9fd0acf
security: Harden TrickyStore keybox validation
joeyhuab May 27, 2026
b46ee53
core: PIF: align spoofing behavior with upstream PlayIntegrityFix
joeyhuab Apr 23, 2026
b5368e6
Use reified generic to optimize filterIsInstance performance
vincentchung-mtk Mar 9, 2026
1a4fe82
SystemUI: Apply wifi and signal icon styles last
neobuddy89 Feb 11, 2026
a796749
SystemUI: Skipping overlays application on managed profiles
rmp22 Apr 11, 2026
c2a4e06
SystemUI: Deferring trimmemory on shade collapse
rmp22 Apr 12, 2026
509ab28
SystemUI: Shade gc and traversal last
rmp22 Feb 19, 2026
119e0e6
SystemUI: Caching tile viewmodels across qs fling
rmp22 Apr 12, 2026
368a6c0
SystemUI: Debouncing wallpaper color extraction on shade dim
rmp22 Apr 12, 2026
f5fe519
SystemUI: Debouncing notification fade layer changes during fling
rmp22 Apr 12, 2026
501fb34
services: Reducing hinge angle sensor polling from 1000hz to normal
rmp22 Apr 12, 2026
50dc0e5
SystemUI: Throttling notification stack height remeasure during fling
rmp22 Apr 12, 2026
e682403
services: Throttling user activity binder calls
rmp22 Mar 16, 2026
5d76c33
services: Reducing foldable sensor polling rate
rmp22 Mar 16, 2026
16e4e5b
services: Skipping redundant posture estimation callbacks
rmp22 Mar 16, 2026
059da2c
core: Adding sandbox support
rmp22 Mar 21, 2026
1e7aa0b
sandbox: Adding secure file vault support
Saikrishna1504 May 2, 2026
1c8e072
sandbox: Optimizing sandbox call sites
rmp22 Apr 30, 2026
d05696d
Add support for game space
rmp22 Mar 21, 2026
9046dd4
services: Treat gamespace apps as games
rmp22 Sep 22, 2025
9206fa5
services: Add immersive lock gesture
rmp22 Apr 3, 2026
c32df1f
services: Add system server hooks
rmp22 Nov 25, 2025
032b7ca
SystemUI: backport CP1A fix for getBubblePackageForLogging crash
inthewaves Apr 23, 2026
03fd736
SystemUI: Prevent UDFPS screen flash during sleep transition
bijoyv9 Apr 25, 2026
1146135
hwui: Gating hwui per-frame traces for userdebug builds
rmp22 Apr 10, 2026
214baf9
hwui: Bumping hwui shader cache for fewer fling stalls
rmp22 Apr 14, 2026
faa634e
FontController/Typeface: fix variable-* font override, base resolutio…
joeyhuab Apr 29, 2026
7f8d31f
services: Add toggle for gamespace auto detect apps
neobuddy89 Apr 30, 2026
9b318f3
services: Make game added toast translatable
neobuddy89 Apr 30, 2026
2d89cb3
SystemUI: Add animation styles for QS tile toggle
neobuddy89 May 1, 2026
f79e933
core: Avoid DeadSystemException recursion when dropbox is unavailable
QuinceROMs Apr 3, 2026
2655510
core: Harden DeadSystem paths for optional services
QuinceROMs Apr 4, 2026
5433650
services: Allow early null AxSandbox manager lookups
QuinceROMs Apr 30, 2026
6fcb66e
SystemUI: Add more QS tile animation styles
neobuddy89 May 2, 2026
aeeee99
Pulse: Add subtle haptics on bass spikes
neobuddy89 May 3, 2026
7e598e2
Pulse: Allow configure bass haptics playback
neobuddy89 May 3, 2026
6279c05
SystemUI: Allow devices to disable Smart Pixels on UDFPS
ShevT Dec 15, 2022
124396a
SystemUI: Fix computeChargeTimeRemaining regression
rmp22 May 6, 2026
7409ff9
SystemUI: Fix platform hooks regressions
rmp22 May 6, 2026
dfd52ec
SystemUI: Fix connectivity callbackhandler regressions
rmp22 May 6, 2026
2406eb4
base: Fixing wallpaper token leak
rmp22 May 1, 2026
79871ec
core: Fixing zygote socket session leak
rmp22 May 2, 2026
330c03f
services: Fix high-res wallpaper performance issue
rmp22 May 6, 2026
d747bfa
SystemUI: Add back gesture, charging anim, battery themes support
rmp22 Apr 6, 2026
25732c1
Fix system_server deadlock between DisplayManagerService and External…
May 7, 2026
cfb6495
Reduce blocking operation on display thread
Aug 29, 2025
1ec2f4d
services: Optimizing windowstate hot paths
rmp22 Apr 30, 2026
051fbac
services: fixing letter box regression
rmp22 Apr 23, 2026
5913755
services: Optimizing letterbox updates
rmp22 Apr 30, 2026
34239f1
services: Optimizing window rounded corners updates
rmp22 Apr 30, 2026
1084c6a
services: Optimizing redundant status bar top hide checks
rmp22 Apr 30, 2026
0a68943
services: Disabling dma buff stats pull
rmp22 Apr 30, 2026
992dcbe
services: Optimizing redundant updateLockscreenTimeout updates
rmp22 Apr 30, 2026
3399e6d
SystemUI: charging: harden charging ripple cleanup against stale call…
QuinceROMs May 9, 2026
5f72afe
Fix NPE in JobServiceContext.handleOpTimeoutLocked()
May 9, 2026
b199a3d
Fix flaky test in b/504933143.
Apr 30, 2026
4b3000a
SystemUI: Fix notification app lock issues
rmp22 May 12, 2026
e3b6892
core: sandbox: Fix app lock issue
rmp22 May 28, 2026
f7ad0cb
SystemUI: Port statusbar brightness control
Alberto97 Mar 28, 1997
6b8c4a3
SystemUI: Fix and add status bar brightness control for lockscreen
neobuddy89 May 14, 2026
e35d267
core: Fix dispatch detach window race
rmp22 May 14, 2026
9dcbbd5
core: Caching views to optimize performance
rmp22 May 2, 2026
fd3398a
Prevent system_server from restarting due to app issues.
Apr 13, 2026
98038f8
AMS appDiedLocked killProcessQuiet is vulnerable to PID reuse race, c…
May 14, 2026
167d191
backport fix for stuck IME input from May 2026 Pixel update
muhomorr May 5, 2026
2927f05
SystemUI: Follow material expressive icons for status bar tuner
neobuddy89 May 16, 2026
4030e79
SystemUI: tuner: Update statusbar tuner icons
kleidione Feb 2, 2026
a3362b5
SettingsLib: Force enable expressive theme
neobuddy89 May 16, 2026
41ad032
services: Fix performance mode issue
rmp22 May 14, 2026
98edd46
haptics: Allow to set predefined feedback for texture tick effect
iusmac May 17, 2026
080f235
SystemUI: Add custom carrier text customization
Claymore1297 Feb 1, 2026
8ecef72
SystemUI: Add customization to select carrier label location
neobuddy89 May 22, 2026
214f1d3
pm: clear tracked changed states in PackageStateMutator
May 7, 2026
761e220
base: Allow locking tasks to recents [1/2]
SagarMakhar Aug 28, 2021
99ff891
Remove unconditional log in add()
sureshvk5 May 27, 2026
3ac47e9
core: hide clone targets from regular Open with
Epikaigle May 30, 2026
3e0e2cb
SystemUI: Fix quick pulldown regression with statusbar brightness con…
neobuddy89 Jun 1, 2026
b7a679f
SystemUI: Fix slider haptic issue
rmp22 May 30, 2026
c1f7e9e
sandbox: improving vault file management
rmp22 May 18, 2026
a99e0ab
ThemeEngine: fixing wifi | signal icons sizing
rmp22 May 17, 2026
1bdc088
SystemUI: fixing wifi standard alignment
rmp22 May 17, 2026
f7b2985
ThemeEngine: fixing update broadcasting crashes
rmp22 May 17, 2026
2dd6973
SystemUI: fixing keyguard locked rotation
rmp22 May 25, 2026
a374511
SettingsLib: fixing platform apps storage info
rmp22 Jun 2, 2026
e9d9100
SystemUI: fixing keyguard bypass issue
rmp22 Jun 2, 2026
0ac36f0
SystemUI: Hide notifications when quickly expanding QS
adithya2306 Jan 7, 2023
b2a5182
WindowWakeUpPolicy: Don't wake from lid when LID_BEHAVIOR is disabled
CuriousNom Jan 25, 2026
b507264
SystemUI: Fix sporadic jumps in statusbar brightness control
neobuddy89 Jun 6, 2026
388b569
SystemUI: Fix UDFPS animation attach/detach race
firebird11 Jun 5, 2026
19c6c3c
SystemUI: Add volume slider and ringer mode in QS panel
neobuddy89 Jun 8, 2026
598102f
SystemUI: Fix up text clock style
neobuddy89 Jun 9, 2026
37ff18d
SystemUI: ClockStyles: Remove setting center layout programmatically
neobuddy89 Jun 9, 2026
41bfdea
SystemUI: Fix weather text not following custom clock color
Ghosuto May 30, 2026
b2fb6fd
SystemUI: Extend volume slider modes
neobuddy89 Jun 10, 2026
39ba48b
SystemUI: Remove container color background from volume slider in QS
neobuddy89 Jun 10, 2026
4612d0d
OmniJaws: Fix concurrency issues in client
neobuddy89 Jun 10, 2026
6fa5aed
ActionChain: Do not call collectExistenceChange if transition is null
kde-yyds May 24, 2026
779efff
core: AHardwareBuffer fixes for oplus camera
spkal01 May 31, 2026
265470c
OmniJaws: Add HOURLY_PROJECTION constant for weather content provider
neobuddy89 Jun 12, 2026
f7fd888
base: Add an icon for NR_SA (5G Standalone) data connection
idoybh Aug 7, 2025
feb7d3d
SystemUI: Add BatteryEventService for Intelligence battery widget
kleidione Mar 11, 2026
aae21ef
SystemUI: Animate clock doze properly across transitions
neobuddy89 Jun 13, 2026
812ae8f
SystemUI: Skip time updates on lockscreen clock outside keyguard
rmp22 May 6, 2026
47d53e0
Pulse: Resolve currently playing local media app
neobuddy89 Jun 13, 2026
7887de6
BatteryStatsViewer: Get matching app info from all user
someone5678 Jul 14, 2025
ca245c1
BatteryStatsViewer: Import translations from Weblate
weblate Aug 4, 2025
3033bef
Sandbox: Do not relock app when system sub-activity takes focus in th…
neobuddy89 Jun 14, 2026
5161a90
SystemUI: Fix torch tile issue
rmp22 Mar 30, 2026
07a370c
SystemUI: Make the new vertical flashlight slider compatible with the…
NurKeinNeid Jan 25, 2026
0382a73
SystemUI: Fix flashlight QS direct-expand slider initialization
farrukh2002 Feb 18, 2026
de5c306
SystemUI: Fix flashlight slider re-enable from 0 level
farrukh2002 Feb 17, 2026
29a2467
SystemUI: Make FlashlightListener strength callback default
bijoyv9 Jun 14, 2026
a0d0b7e
services Disable wm debug cpu hotspots
rmp22 Jun 3, 2026
685e3c0
services Add jit warmup threshold params
rmp22 Jun 3, 2026
6520c63
Make ShadeExpansionStateManager more closely match legacy behavior
Nov 6, 2025
9b3ff70
Remove extra shade expansion trace markers.
caitlinshk Oct 30, 2025
828a71c
Remove debug logs
murthyvs Oct 22, 2025
6957a58
SystemUI: Use early expansion when touching the shade
Jun 25, 2026
f9a08f0
SystemUI: enable no expansion on shade overscroll
bhnm-google Jun 26, 2026
cbbafc1
Prevent crashing System UI due to invalid volume values.
Mar 26, 2026
dd3459a
Add animateContentSize calls
Feb 3, 2026
5fb72b8
Remove extra clip from flashlight slider
bhnm-google Oct 27, 2025
8601874
Smooth neck for flashlight beam shape
bhnm-google Sep 30, 2025
bfb1354
Add top line above VerticalFlashlightSlider
bhnm-google Oct 10, 2025
85ac9e5
Attempt reconnect even if flashlight was not found on start
bhnm-google Aug 26, 2025
326031d
Fix flashlight slider RTL UI
bhnm-google Mar 24, 2026
812a77d
SystemUI: Fix bad QS scrim colors due to race in brightness mirror state
iusmac Jun 22, 2026
30ec1b8
SystemUI: Disable tile squishiness animation during QS expansion
iusmac Jun 17, 2026
e999575
Fix caching issue for product strategies
nhuthuan99 Jun 16, 2026
2be4432
ExploreByTouchHelper focusable by default
yschimke Jun 22, 2026
1b20c4d
SystemUI: show location indicator for OP_COARSE_LOCATION
inthewaves May 29, 2026
5da5e30
SystemUI: Add haptic feedback for qs footer actions
cjh1249131356 Sep 18, 2022
dd7e922
SystemUI: Add blur QS tile
neobuddy89 Jul 1, 2026
907a7fc
services: Introduce Reality Display engine [1/2]
minaripenguin Jun 22, 2024
dc98f3b
services: Refactor Reality Display engine
neobuddy89 Jul 2, 2026
b47cf9d
services: Add log dump for Reality Display engine
neobuddy89 Jul 2, 2026
1e31158
telephony: Relax default 5G NR SA SS-RSRP signal strength thresholds
rajdeep-3305 May 29, 2026
81ddb1c
CarrierConfigManager: Gracefully handle missing CarrierConfigLoader
shutter-cat Jan 6, 2026
bdde022
SystemUI: Fixing unsupported qs tile icon crash
rmp22 Mar 21, 2026
a4d25ae
SystemUI: Add customization for bold clock and period separator
neobuddy89 Jul 11, 2026
1d59a5b
Disable/reduce functionality of various ad/analytics libraries
SkewedZeppelin May 25, 2022
d9650d7
SystemUI: Use proper Resolver background color
elluzion Dec 7, 2020
f47fed2
Remove unused variables from SystemServer
Jul 7, 2026
e9124ad
Fixed the issue where the panel wouldn't collapse after clear all.
Jul 13, 2026
743ec5f
increase flashlight dialog separator contrast
bhnm-google Dec 1, 2025
969a01e
Fix crash with media carousel pager update
Oct 17, 2025
1ce4dbb
Animate play/pause button when clicked
Dec 18, 2025
d53b95b
core: Fix blur regions null crash
rmp22 Jul 13, 2026
1ff6ea6
SystemUI: Fix wallet tile regression during qs expansion
rmp22 Jul 6, 2026
b06ba1d
SystemUI: Optimizing shade blur render
rmp22 Jul 13, 2026
d837515
core: Fixing AnimatorSet concurrency issue
rmp22 Jul 15, 2026
0549592
services: Fixing window exit animation concurrency bug
rmp22 Jul 15, 2026
b274155
services: Enabling app image startup cache
rmp22 Jun 2, 2026
91127f7
core: removing animation regressions
rmp22 May 6, 2026
879c844
core: Improve activity animation
rmp22 Mar 21, 2026
a767416
aapt2: support explicit IDs for private symbols
Loukious Jul 31, 2026
25ef3db
SystemUI: Add missing check for lens button in screenshot actions
neobuddy89 Jul 31, 2026
1aa5e37
ActivityThread: Prevent a NPE caused by null configuration
minaripenguin Apr 8, 2023
ea4e9bc
SystemUI: Fix doze sensor check for screen-off long press
neobuddy89 Aug 1, 2026
e32fb0e
fixup! SystemUI: Add option to disable quicksettings on keyguard
neobuddy89 Aug 1, 2026
7615832
SystemUI: OnTheGo: Fix overlay swallowing all touch input
neobuddy89 Aug 2, 2026
b8bf0cd
SystemUI: OnTheGo: Run as camera FGS and fix preview size
neobuddy89 Aug 2, 2026
2c953b4
SystemUI: OnTheGo: Redesign dialog
neobuddy89 Aug 2, 2026
e4b5064
Update Crowdin configuration file
gwolf2u Oct 31, 2024
708e793
New Crowdin updates (#1339)
gwolf2u Aug 7, 2026
1559354
BroadcastRadio:Fix the issue of duplicate radio stations
May 31, 2026
f29ab1e
Fix transitions to black screen due to system_server anr when perform…
Apr 11, 2026
4cff2b9
Fix duplicate callbacks during app-op mode reset
Apr 11, 2026
89ab3e8
WallpaperManagerService: Recover missing static wallpaper colors
pbzin Aug 29, 2026
622fe68
SystemUI: Refresh clock colors after Monet changes
pbzin Aug 29, 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
2 changes: 1 addition & 1 deletion core/java/android/animation/AnimatorSet.java
Original file line number Diff line number Diff line change
Expand Up @@ -444,7 +444,7 @@ private void endAnimationAndNotifyEndListenersImmediately() {
* @param consumer The method to call on every Animator of mPlayingSet.
*/
private void callOnPlayingSet(Consumer<Animator> consumer) {
final ArrayList<Node> list = mPlayingSet;
final ArrayList<Node> list = new ArrayList<>(mPlayingSet);
final int size = list.size();
//noinspection ForLoopReplaceableByForEach
for (int i = 0; i < size; i++) {
Expand Down
55 changes: 48 additions & 7 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 @@ -6986,7 +6990,7 @@ private Configuration performActivityConfigurationChanged(ActivityClientRecord r
final boolean movedToDifferentDisplay = isDifferentDisplay(activity.getDisplayId(),
displayId);
final Configuration currentResConfig = activity.getResources().getConfiguration();
final int diff = currentResConfig.diffPublicOnly(newConfig);
final int diff = currentResConfig != null ? currentResConfig.diffPublicOnly(newConfig) : 0xffffffff;
final boolean hasPublicResConfigChange = diff != 0;
// TODO(b/173090263): Use diff instead after the improvement of AssetManager and
// ResourcesImpl constructions.
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.sPerfAnimEnabled) {
AnimationUtils.ActivityAnimations.preload();
}
} 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