Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1024 commits
Select commit Hold shift + click to select a range
63d97a1
Allow sending vendor- or device-specific commands to the camera HAL.
maniac103 Mar 3, 2015
8a8b986
fix StrictMode BackgroundActivityLaunchCallback leak
inthewaves Mar 28, 2026
247d897
core: Add perf activity anim override
rmp22 Mar 21, 2026
ec95b00
core: Upgrading to m3e animation specs
rmp22 Apr 18, 2026
dd4e726
optimizing animations performance
rmp22 Apr 23, 2026
1627e48
SystemUI: Adding statusbar dynamic bar
rmp22 Feb 24, 2026
564fc07
SystemUI: Suppress Dynamic Bar notifications when Danmaku is active
Saikrishna1504 Mar 31, 2026
85db989
SystemUI: DynamicBar: Align lockscreen chip with keyguard indication …
bijoyv9 Mar 29, 2026
4961777
SystemUI: DynamicBar: Fixing issues | enhance
rmp22 Mar 30, 2026
bb13fd3
SystemUI: DynamicBar: Fixing expanded content top padding
rmp22 Apr 13, 2026
7f2a322
SystemUI: DynamicBar: Fixing recorder | notification issues
rmp22 Apr 11, 2026
aabd2ec
SystemUI: DynamicBar: Auto-focus reply field when clicking reply button
Saikrishna1504 Apr 11, 2026
94133e4
SystemUI: DynamicBar: Allow opening app when reply field is focused
Saikrishna1504 Apr 11, 2026
dfee169
SystemUI: DynamicBar: Limiting status bar chip width
rmp22 Apr 11, 2026
42dbf00
SystemUI: DynamicBar: Cleaning up ux | animations enhance
rmp22 Apr 19, 2026
72b5676
SystemUI: DynamicBar: Fix our torch impl
neobuddy89 Mar 31, 2026
1836541
SystemUI: Add quicklook client
rmp22 Feb 16, 2026
4576524
SystemUI: Adding platform hooks
rmp22 Feb 16, 2026
2c5ddea
SystemUI: Adapt platform hooks for dynamic bar usage only
neobuddy89 Apr 14, 2026
3affc63
SystemUI: DynamicBar: Use actual charging info on lock screen
neobuddy89 Apr 4, 2026
df7b8a0
SystemUI: DynamicBar: Stabilize and clean up charging info formatting
bijoyv9 Apr 26, 2026
329babe
SystemUI: DynamicBar: Refine charging chip layout and parsing logic
bijoyv9 Apr 26, 2026
3d98850
SystemUI: DynamicBar: Fix expanded content issue
rmp22 Apr 24, 2026
6854191
SystemUI: DynamicBar: Add smooth squiggly progress for media content
neobuddy89 Apr 1, 2026
b7d998e
SystemUI: DynamicBar: Fix seekbar scrubbing UX for media content
neobuddy89 Apr 1, 2026
6037e93
SystemUI: DynamicBar: Align expanded cards to top center
neobuddy89 Apr 2, 2026
d7514e2
SystemUI: DynamicBar: Fix crash while streaming media
neobuddy89 Apr 11, 2026
9e621a8
SystemUI: DynamicBar: Re-add notification and call event
neobuddy89 Apr 18, 2026
8501c07
SystemUI: DynamicBar: Hide weather and smartspace on expand
neobuddy89 Apr 28, 2026
1fd7366
SystemUI: DynamicBar: Fix notification event not dismissable
neobuddy89 May 1, 2026
257cd7e
SystemUI: DynamicBar: Hide custom clock on expanded card
neobuddy89 May 1, 2026
c121f15
SystemUI: DynamicBar: Reducing cpu usage
rmp22 May 2, 2026
45bee54
SystemUI: DynamicBar: Charging bolt improvements on lockscreen
iusmac Apr 28, 2026
6d8dff7
SystemUI: DynamicBar: fixing keyguard chips ui issues
rmp22 May 13, 2026
8996184
SystemUI: DynamicBar: Collapse expanded panel when touched outside
neobuddy89 May 23, 2026
a9b2887
core: Add tricky store port integrate
rmp22 Dec 24, 2025
2a0c688
core: Fixing vbmeta digest abnormal state
rmp22 Dec 27, 2025
1cd134b
core: Fixing broken tee cert generation
rmp22 Dec 30, 2025
37fbd79
core: Adding game spoofing
rmp22 Dec 25, 2025
c4a0f25
core: Adding play integrity spoofing
rmp22 Dec 25, 2025
0ef3ce8
core: Fixing stackoverflow in trickystore port
rmp22 Apr 3, 2026
44a9f3e
core: Improving spoofs entry point
rmp22 Mar 27, 2026
a17c427
core: Move trickystore, pif and game props spoof
neobuddy89 Apr 14, 2026
1ec012e
core: Fix json parsing non-string values in PIF
neobuddy89 Apr 14, 2026
d92151c
core: pif: skip SDK_INT spoofing for vending process
joeyhuab Apr 15, 2026
8b43b4a
services: Adding support for service injector
rmp22 Nov 25, 2025
cfabb6f
core: Fixing spoofing structure
rmp22 Apr 18, 2026
a4884c2
core: Improve parsing keybox xml with StringBuilder
neobuddy89 Apr 19, 2026
b88cae9
core: Fix and remove deprecated api in certificate generator
neobuddy89 Apr 19, 2026
2721cac
core: Sanitize keybox xml before loading
neobuddy89 Apr 19, 2026
80d5f47
core: Fixing spoofing issues
rmp22 Apr 26, 2026
16fb36f
core: pif: Add separate tunable for gphotos spoof
neobuddy89 May 9, 2026
e849bd7
services: spoof: Read settings from current user
neobuddy89 May 10, 2026
5ca0d1d
core: pif: Enable photos spoof by default
neobuddy89 May 10, 2026
62404c8
security: Harden TrickyStore keybox validation
joeyhuab May 27, 2026
d9e6a5f
core: PIF: align spoofing behavior with upstream PlayIntegrityFix
joeyhuab Apr 23, 2026
dc1435d
Use reified generic to optimize filterIsInstance performance
vincentchung-mtk Mar 9, 2026
7214455
SystemUI: Apply wifi and signal icon styles last
neobuddy89 Feb 11, 2026
64a4a7c
SystemUI: Skipping overlays application on managed profiles
rmp22 Apr 11, 2026
8bafc91
SystemUI: Deferring trimmemory on shade collapse
rmp22 Apr 12, 2026
a61b620
SystemUI: Shade gc and traversal last
rmp22 Feb 19, 2026
ab6a8ff
SystemUI: Fixing shade gc handler leak and premature gc
rmp22 Apr 12, 2026
de3e157
SystemUI: Caching tile viewmodels across qs fling
rmp22 Apr 12, 2026
39cfc48
SystemUI: Debouncing wallpaper color extraction on shade dim
rmp22 Apr 12, 2026
07138b1
SystemUI: Debouncing notification fade layer changes during fling
rmp22 Apr 12, 2026
fd1ccf8
services: Reducing hinge angle sensor polling from 1000hz to normal
rmp22 Apr 12, 2026
00f8ff8
SystemUI: Throttling notification stack height remeasure during fling
rmp22 Apr 12, 2026
65e9ef8
core: Traversal last callback
rmp22 Feb 19, 2026
30ad1fd
core: Taversal last, skip relayout and hide by cache
rmp22 Feb 19, 2026
6b86345
services: Throttling user activity binder calls
rmp22 Mar 16, 2026
6b37cf7
services: Reducing foldable sensor polling rate
rmp22 Mar 16, 2026
efeff33
services: Skipping redundant posture estimation callbacks
rmp22 Mar 16, 2026
d75aecc
core: Adding sandbox support
rmp22 Mar 21, 2026
e3ab9dc
sandbox: Adding secure file vault support
Saikrishna1504 May 2, 2026
c91097a
sandbox: Optimizing sandbox call sites
rmp22 Apr 30, 2026
924aaba
Add support for game space
rmp22 Mar 21, 2026
e47f958
services: Treat gamespace apps as games
rmp22 Sep 22, 2025
553a8be
services: Add immersive lock gesture
rmp22 Apr 3, 2026
139dbbd
services: Add system server hooks
rmp22 Nov 25, 2025
0195354
SystemUI: backport CP1A fix for getBubblePackageForLogging crash
inthewaves Apr 23, 2026
35068f7
SystemUI: Prevent UDFPS screen flash during sleep transition
bijoyv9 Apr 25, 2026
881d956
hwui: Gating hwui per-frame traces for userdebug builds
rmp22 Apr 10, 2026
963e02d
hwui: Bumping hwui shader cache for fewer fling stalls
rmp22 Apr 14, 2026
269f58e
FontController/Typeface: fix variable-* font override, base resolutio…
joeyhuab Apr 29, 2026
57591ef
services: Add toggle for gamespace auto detect apps
neobuddy89 Apr 30, 2026
f83ca6d
services: Make game added toast translatable
neobuddy89 Apr 30, 2026
954d5d2
SystemUI: Add animation styles for QS tile toggle
neobuddy89 May 1, 2026
bdf9267
core: Avoid DeadSystemException recursion when dropbox is unavailable
QuinceROMs Apr 3, 2026
78e95cc
core: Harden DeadSystem paths for optional services
QuinceROMs Apr 4, 2026
26d9168
services: Allow early null AxSandbox manager lookups
QuinceROMs Apr 30, 2026
57a2d3c
SystemUI: Add more QS tile animation styles
neobuddy89 May 2, 2026
3ee18bf
Pulse: Add subtle haptics on bass spikes
neobuddy89 May 3, 2026
4998ee3
Pulse: Allow configure bass haptics playback
neobuddy89 May 3, 2026
9eb60d4
SystemUI: Allow devices to disable Smart Pixels on UDFPS
ShevT Dec 15, 2022
31b2496
SystemUI: Fix computeChargeTimeRemaining regression
rmp22 May 6, 2026
7c8011f
SystemUI: Fix platform hooks regressions
rmp22 May 6, 2026
4bdf5e1
SystemUI: Fix connectivity callbackhandler regressions
rmp22 May 6, 2026
5ef0b0c
base: Fixing wallpaper token leak
rmp22 May 1, 2026
74bb3db
core: Fixing zygote socket session leak
rmp22 May 2, 2026
c01a1b9
services: Fix high-res wallpaper performance issue
rmp22 May 6, 2026
26d7ea2
SystemUI: Add back gesture, charging anim, battery themes support
rmp22 Apr 6, 2026
b7b314f
Fix system_server deadlock between DisplayManagerService and External…
May 7, 2026
8249dbb
Reduce blocking operation on display thread
Aug 29, 2025
40709d8
services: Optimizing windowstate hot paths
rmp22 Apr 30, 2026
a7e5ea8
services: Optimizing redundant keyguard checks
rmp22 Apr 30, 2026
1055988
services: Optimizing letterbox updates
rmp22 Apr 30, 2026
5da86a2
services: Optimizing window rounded corners updates
rmp22 Apr 30, 2026
59816eb
services: Optimizing redundant status bar top hide checks
rmp22 Apr 30, 2026
395a217
services: Disabling dma buff stats pull
rmp22 Apr 30, 2026
c74691c
services: Optimizing redundant updateLockscreenTimeout updates
rmp22 Apr 30, 2026
1a4ab3e
services: Caching isOverlappingWithNavBar to avoid redundant rectangl…
rmp22 Apr 23, 2026
e91d3c2
services: Optimizing navigation bar draws
rmp22 Apr 30, 2026
a28bdb9
SystemUI: charging: harden charging ripple cleanup against stale call…
QuinceROMs May 9, 2026
a6878b2
Fix NPE in JobServiceContext.handleOpTimeoutLocked()
May 9, 2026
8418ab9
Fix flaky test in b/504933143.
Apr 30, 2026
7df99f4
SystemUI: Fix notification app lock issues
rmp22 May 12, 2026
1f6d1b3
core: sandbox: Fix app lock issue
rmp22 May 28, 2026
49f282e
SystemUI: Port statusbar brightness control
Alberto97 Mar 28, 1997
70f6c3e
SystemUI: Fix and add status bar brightness control for lockscreen
neobuddy89 May 14, 2026
db23dd7
core: Fix dispatch detach window race
rmp22 May 14, 2026
0ef1444
core: Caching views to optimize performance
rmp22 May 2, 2026
9eededd
Prevent system_server from restarting due to app issues.
Apr 13, 2026
dc8aa05
AMS appDiedLocked killProcessQuiet is vulnerable to PID reuse race, c…
May 14, 2026
632777a
backport fix for stuck IME input from May 2026 Pixel update
muhomorr May 5, 2026
e6249cd
SystemUI: Follow material expressive icons for status bar tuner
neobuddy89 May 16, 2026
88f5b46
SystemUI: tuner: Update statusbar tuner icons
kleidione Feb 2, 2026
41c8e63
SettingsLib: Force enable expressive theme
neobuddy89 May 16, 2026
35eb382
services: Fix performance mode issue
rmp22 May 14, 2026
2433220
haptics: Allow to set predefined feedback for texture tick effect
iusmac May 17, 2026
649dda5
SystemUI: Add custom carrier text customization
Claymore1297 Feb 1, 2026
de7a805
SystemUI: Add customization to select carrier label location
neobuddy89 May 22, 2026
32a0717
pm: clear tracked changed states in PackageStateMutator
May 7, 2026
cc12114
base: Allow locking tasks to recents [1/2]
SagarMakhar Aug 28, 2021
e902a6d
Remove unconditional log in add()
sureshvk5 May 27, 2026
114d9e3
core: hide clone targets from regular Open with
Epikaigle May 30, 2026
051b7a1
SystemUI: Fix quick pulldown regression with statusbar brightness con…
neobuddy89 Jun 1, 2026
77dafc7
SystemUI: Fix slider haptic issue
rmp22 May 30, 2026
53a62e6
sandbox: improving vault file management
rmp22 May 18, 2026
3bf1c56
ThemeEngine: fixing wifi | signal icons sizing
rmp22 May 17, 2026
2ff81f3
SystemUI: fixing wifi standard alignment
rmp22 May 17, 2026
12f1f09
ThemeEngine: fixing update broadcasting crashes
rmp22 May 17, 2026
69155cf
SystemUI: DynamicBar: fixing touch intercept issue
rmp22 May 17, 2026
da7cd82
SystemUI: fixing keyguard locked rotation
rmp22 May 25, 2026
4f55e91
SettingsLib: fixing platform apps storage info
rmp22 Jun 2, 2026
364dcd0
SystemUI: fixing keyguard bypass issue
rmp22 Jun 2, 2026
5d3ae68
wm: DisplayRotation: Preserve locked rotation during screen state cha…
ArKT-7 May 23, 2026
55a1603
SystemUI: DynamicBar: Skip biometric unlock on keyguard when disabled
iusmac Jun 5, 2026
916b1bb
SystemUI: Hide notifications when quickly expanding QS
adithya2306 Jan 7, 2023
2a51e97
WindowWakeUpPolicy: Don't wake from lid when LID_BEHAVIOR is disabled
CuriousNom Jan 25, 2026
8c8c11a
SystemUI: Fix sporadic jumps in statusbar brightness control
neobuddy89 Jun 6, 2026
eb79f55
SystemUI: Fix UDFPS animation attach/detach race
firebird11 Jun 5, 2026
da664c2
SystemUI: Add volume slider and ringer mode in QS panel
neobuddy89 Jun 8, 2026
dee9688
fixup! fixing app lock issue
rmp22 May 30, 2026
134d5af
SystemUI: Fix up text clock style
neobuddy89 Jun 9, 2026
7affc23
SystemUI: ClockStyles: Remove setting center layout programmatically
neobuddy89 Jun 9, 2026
1fc6321
SystemUI: Fix weather text not following custom clock color
Ghosuto May 30, 2026
910bc8f
SystemUI: Extend volume slider modes
neobuddy89 Jun 10, 2026
e261f0d
SystemUI: Remove container color background from volume slider in QS
neobuddy89 Jun 10, 2026
648ebb6
OmniJaws: Fix concurrency issues in client
neobuddy89 Jun 10, 2026
30ea61c
ActionChain: Do not call collectExistenceChange if transition is null
kde-yyds May 24, 2026
0a8824c
core: AHardwareBuffer fixes for oplus camera
spkal01 May 31, 2026
332505f
OmniJaws: Add HOURLY_PROJECTION constant for weather content provider
neobuddy89 Jun 12, 2026
e4ff233
base: Add an icon for NR_SA (5G Standalone) data connection
idoybh Aug 7, 2025
6dfee43
SystemUI: Add BatteryEventService for Intelligence battery widget
kleidione Mar 11, 2026
2b1e739
SystemUI: Animate clock doze properly across transitions
neobuddy89 Jun 13, 2026
6fa97b5
SystemUI: Skip time updates on lockscreen clock outside keyguard
rmp22 May 6, 2026
ad20cbe
Pulse: Resolve currently playing local media app
neobuddy89 Jun 13, 2026
06f1fc4
fixup! base: Initial SenseProvider for FaceSense service
33bca Sep 17, 2025
1ca9202
BatteryStatsViewer: Get matching app info from all user
someone5678 Jul 14, 2025
3163366
BatteryStatsViewer: Import translations from Weblate
weblate Aug 4, 2025
92870d9
Sandbox: Do not relock app when system sub-activity takes focus in th…
neobuddy89 Jun 14, 2026
168cc67
SystemUI: Fix torch tile issue
rmp22 Mar 30, 2026
bab2512
SystemUI: Make the new vertical flashlight slider compatible with the…
NurKeinNeid Jan 25, 2026
51f7db4
SystemUI: Fix flashlight QS direct-expand slider initialization
farrukh2002 Feb 18, 2026
8df37bb
SystemUI: Fix flashlight slider re-enable from 0 level
farrukh2002 Feb 17, 2026
411f617
SystemUI: Make FlashlightListener strength callback default
bijoyv9 Jun 14, 2026
e5bd75e
SystemUI: Handle 0% torch strength in dynamic bar
bijoyv9 Jun 14, 2026
22300ed
services Disable wm debug cpu hotspots
rmp22 Jun 3, 2026
fb5eca2
services Add jit warmup threshold params
rmp22 Jun 3, 2026
9434138
SystemUI: DynamicBar: Add kill-app action from Recents grid
Ghosuto Jun 14, 2026
cad4c09
SystemUI: DynamicBar: Make close icon in recents card more distinct
neobuddy89 Jun 19, 2026
b65b35e
SystemUI: DynamicBar: Fix text clipping in recents card
neobuddy89 Jun 19, 2026
b47dbf5
SystemUI: DynamicBar: Fix media progress drift
neobuddy89 Jun 21, 2026
5dcc5dc
Update Crowdin configuration file
gwolf2u Oct 31, 2024
4ec75b0
New Crowdin updates (#1326)
gwolf2u Jun 28, 2026
40014d5
Make ShadeExpansionStateManager more closely match legacy behavior
Nov 6, 2025
68a2ce5
Remove extra shade expansion trace markers.
caitlinshk Oct 30, 2025
24acb79
Remove debug logs
murthyvs Oct 22, 2025
d76c3ea
SystemUI: Use early expansion when touching the shade
Jun 25, 2026
ecac6e7
SystemUI: enable no expansion on shade overscroll
bhnm-google Jun 26, 2026
a3b51e4
Prevent crashing System UI due to invalid volume values.
Mar 26, 2026
290eefb
Add animateContentSize calls
Feb 3, 2026
7d01247
Remove extra clip from flashlight slider
bhnm-google Oct 27, 2025
77506c0
Smooth neck for flashlight beam shape
bhnm-google Sep 30, 2025
53b4248
Add top line above VerticalFlashlightSlider
bhnm-google Oct 10, 2025
b0cac2d
Attempt reconnect even if flashlight was not found on start
bhnm-google Aug 26, 2025
56976e0
Fix flashlight slider RTL UI
bhnm-google Mar 24, 2026
df673ca
SystemUI: Fix bad QS scrim colors due to race in brightness mirror state
iusmac Jun 22, 2026
6efaa2b
SystemUI: Disable tile squishiness animation during QS expansion
iusmac Jun 17, 2026
baac6f2
Fix caching issue for product strategies
nhuthuan99 Jun 16, 2026
f299292
ExploreByTouchHelper focusable by default
yschimke Jun 22, 2026
6461199
SystemUI: show location indicator for OP_COARSE_LOCATION
inthewaves May 29, 2026
54a303c
SystemUI: Add haptic feedback for qs footer actions
cjh1249131356 Sep 18, 2022
c9d26ce
SystemUI: Add blur QS tile
neobuddy89 Jul 1, 2026
045c508
services: Introduce Reality Display engine [1/2]
minaripenguin Jun 22, 2024
8daa9c2
services: Refactor Reality Display engine
neobuddy89 Jul 2, 2026
f622767
services: Add log dump for Reality Display engine
neobuddy89 Jul 2, 2026
314ec0e
Revert "services: Skip access check for matlog shipped with rom"
neobuddy89 Jul 6, 2026
f3ddcce
telephony: Relax default 5G NR SA SS-RSRP signal strength thresholds
rajdeep-3305 May 29, 2026
3092460
CarrierConfigManager: Gracefully handle missing CarrierConfigLoader
shutter-cat Jan 6, 2026
06cf65c
SystemUI: Fixing unsupported qs tile icon crash
rmp22 Mar 21, 2026
38bbd78
Merge pull request #1330 from swiitchOFF/16.0
neobuddy89 Jul 10, 2026
fbfeb72
services: Add screen-on memory reclaim toggle
Jul 3, 2026
6efed81
SystemUI: Add customization for bold clock and period separator
neobuddy89 Jul 11, 2026
ca4bb3e
Disable/reduce functionality of various ad/analytics libraries
SkewedZeppelin May 25, 2022
bbad715
SystemUI: Use proper Resolver background color
elluzion Dec 7, 2020
267a910
Remove unused variables from SystemServer
Jul 7, 2026
0812e1d
Fixed the issue where the panel wouldn't collapse after clear all.
Jul 13, 2026
d4c530b
New Crowdin updates (#1331)
gwolf2u Jul 14, 2026
ef26ad7
increase flashlight dialog separator contrast
bhnm-google Dec 1, 2025
55ecc60
Fix crash with media carousel pager update
Oct 17, 2025
77451ab
Animate play/pause button when clicked
Dec 18, 2025
1a82600
core: Fix blur regions null crash
rmp22 Jul 13, 2026
5babe1e
SystemUI: Fix wallet tile regression during qs expansion
rmp22 Jul 6, 2026
1aa52ff
SystemUI: Optimizing shade blur render
rmp22 Jul 13, 2026
1351b9d
core: Fixing AnimatorSet concurrency issue
rmp22 Jul 15, 2026
1bf72c4
services: Fixing window exit animation concurrency bug
rmp22 Jul 15, 2026
e9c37a7
services: Enabling app image startup cache
rmp22 Jun 2, 2026
e0ea729
core: removing animation regressions
rmp22 May 6, 2026
7581a03
core: Improve activity animation
rmp22 Mar 21, 2026
6d918f2
New Crowdin updates (#1332)
gwolf2u Jul 29, 2026
9272542
aapt2: support explicit IDs for private symbols
Loukious Jul 31, 2026
304e240
CachedAppOptimizer: skip unsupported system memcg compaction
CeRRiLLo89 Jul 31, 2026
5965a9f
Merge pull request #1334 from Loukious/fix/contextual-search-resource…
neobuddy89 Jul 31, 2026
37e8d3c
Merge pull request #1335 from CeRRiLLo89/raphael-compactsystem-fix
neobuddy89 Jul 31, 2026
41d566d
SystemUI: Add missing check for lens button in screenshot actions
neobuddy89 Jul 31, 2026
1bd27e5
ActivityThread: Prevent a NPE caused by null configuration
minaripenguin Apr 8, 2023
d2c86a2
SystemUI: Fix doze sensor check for screen-off long press
neobuddy89 Aug 1, 2026
f6c18a9
CachedAppOptimizer: Fix FULL memcg compaction validation
Loukious Aug 1, 2026
46f099b
fixup! SystemUI: Add option to disable quicksettings on keyguard
neobuddy89 Aug 1, 2026
a6c5c9e
Merge pull request #1338 from Loukious/fix/cachedappoptimizer-full-co…
neobuddy89 Aug 1, 2026
81613f6
SystemUI: OnTheGo: Fix overlay swallowing all touch input
neobuddy89 Aug 2, 2026
ffd0699
SystemUI: OnTheGo: Run as camera FGS and fix preview size
neobuddy89 Aug 2, 2026
648e67b
SystemUI: OnTheGo: Redesign dialog
neobuddy89 Aug 2, 2026
cafe1ef
SystemUI: DynamicBar: Fix Compose Height making event passthrough ins…
Perspective2077 Aug 3, 2026
765b357
CachedAppOptimizer: don't crash system_server on kernels without memc…
neobuddy89 Aug 4, 2026
cbd4bf2
Merge pull request #1340 from Perspective2077/16.0
neobuddy89 Aug 4, 2026
7c6e342
New Crowdin updates (#1339)
gwolf2u Aug 7, 2026
dca3a91
New translations cr_strings.xml (Japanese)
gwolf2u Aug 7, 2026
0efcae7
New translations cr_strings.xml (Japanese)
gwolf2u Aug 7, 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