Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
896 commits
Select commit Hold shift + click to select a range
a7f460d
frameworks/base: Import Xiaomi Image Tags defenitions
johnmart19 May 30, 2023
7ed2bf3
SystemUI: Fix Internet Tile showing no service
Jul 2, 2024
0a4d68c
AudioService: do not block focus request from applications compiled w…
Jul 9, 2024
e772931
AudioService: Cancel old toasts when switching ringer mode
idoybh Nov 20, 2020
349164f
SystemUI: Constrain keyguard indication area burn-in offset
adithya2306 Jan 15, 2025
e99eb86
SystemUI: Remove split navigation bar layout for sw900dp
luk1337 Jan 5, 2025
2f5f177
don't remove app widgets from user's home screen when the user stops
muhomorr Oct 22, 2024
af69b33
fix NullPointerException in Animator:callOnList
Jul 29, 2025
156bbac
SystemUI: Add margin above small clock in lockscreen
neobuddy89 Aug 22, 2025
2f2f31e
Optimize the DateTimeView logic time consumption when updating the Ui…
Sep 5, 2025
8802862
SystemUI: Add hotspot toggle in QS internet dialog
adithya2306 Sep 17, 2022
bfc6c46
SystemUI: Introduce 5G toggle in internet connectivity dialog
libxzr Apr 23, 2022
a035550
SystemUI: Allow devices to disable 5G toggle
neobuddy89 Jan 21, 2025
760bd61
SystemUI: InternetTileNewImpl: Fix secondary click
rmp22 Jul 5, 2025
c5d0794
SystemUI: Screenrecord: Add delete action to the notification
sourajitk Dec 29, 2020
ba08457
Screenrecord: Fix notifications not being dismissed
idoybh Dec 18, 2023
c60eb24
ScreenshotController: Clean up resources when dismissed
neobuddy89 Oct 5, 2025
eb6e324
ScreenshotController: Play haptic feedback even on normal ringer mode
neobuddy89 Oct 5, 2025
30c05a0
Fix memory leak in car service
Sep 14, 2025
6125314
Fix NullPointerException in ArtFastDataOutput.writeUTF()
Sep 23, 2025
ef813f9
Move SaveUi from bottom to center
Sep 24, 2025
a9a8889
Minor code optimization.
Sep 28, 2025
b81aa3f
try-catch unlinkToDeath called on unlinked Binder.
Sep 28, 2025
2d2c75b
system: Postpone NetworkWatchlistService scan during boot
May 21, 2025
cd89b08
Fix ConcurrentModificationException in LocaleStore
Abdulla-vcc Jul 7, 2025
c4c9bb8
CpuMonitorService: reduce cache size
rmp22 May 1, 2025
1022ecb
SystemUI: Fix stale colors on power menu after UI mode change
neobuddy89 Oct 25, 2025
3677862
SystemUI: Prevent NotifCollection illegal state on notification dump
neobuddy89 Oct 30, 2025
01e7dac
SystemUI: Prevent ShadeListBuilder illegal state on notification dump
neobuddy89 Nov 10, 2025
cd62068
Fix index out of bounds exception in HandwritingModeController.
Nov 11, 2025
5572bf5
SystemUI: Hide data switch tile on non-voice capable devices
neobuddy89 Nov 15, 2025
4e818b3
Fix RuntimeXfermode native memory leaks
Dec 26, 2025
f313854
ViewGroup: null-check child in dispatchDraw to avoid NPE
Dec 23, 2025
efc157c
Reduce unnecessary calls to getLatestVsyncEventData
LiangliangSui Dec 29, 2025
a987533
Fix NullPointerException in PackageManagerService
Dec 29, 2025
7f5f62c
SystemUI: Fix keyguard back button background
neobuddy89 Jan 3, 2026
e8f97b4
fixing contacts apps crash
rmp22 Dec 18, 2025
31bf2f0
fixing configuration controller crash
rmp22 Dec 24, 2025
2cfbb4d
Revert "Null safe package name in AppOps writeState"
muhomorr Jan 6, 2023
5284e96
appops: skip ops for invalid null package during state serialization
muhomorr Jan 6, 2023
1ece59c
preventing media album bitmaps from impacting performance
rmp22 Nov 27, 2025
53c55a4
Fixes an issue where the lockscreen clock would display the incorrect…
Dec 25, 2025
bd31846
Add Fix Bluetooth status display issue after power cycle
Oct 23, 2025
84f69ad
totalScanTimeMs and totalWifiLockTimeMs may be 0, causing an Arithmet…
Oct 21, 2025
01bb159
Remove Duplicate WIFI_DISPLAY permission entry
May 4, 2021
d63943e
SystemUI: Fix default font feature on lockscreen
neobuddy89 Jan 11, 2026
3dbf4e4
SystemUI: Add repository method to observe settings change for string…
neobuddy89 Jan 27, 2026
e3afa2a
SystemUI: Add status bar battery disable toggle
neobuddy89 Jan 27, 2026
d6d2255
SystemUI: FlexClock: Read font from config_clockFontFamily
neobuddy89 Jan 28, 2026
d6dacb4
SystemUI: Handle secondary click for mobile data tile
neobuddy89 Jan 28, 2026
1dfe052
SmartSpace: Mark strings as non-translatable
gwolf2u Jan 31, 2026
e72c543
SystemUI: Allow ambient wallpaper on pulsing
neobuddy89 Feb 1, 2026
ff7dd62
fix an upstream infinite loop bug in ProtoFieldFilter.skipBytes()
muhomorr Jan 14, 2026
0d75f43
Home screen is stuck at "phone is starting" screen
Jan 13, 2026
68e0060
add workaround for UsageStatsDatabase OOM system_server crash
muhomorr Jan 6, 2026
85ee007
add workaround for WindowContext.finalize() system_server crash
muhomorr Jan 6, 2026
2699d11
fix system_server crash in NotificationHistoryProtoHelper
muhomorr Dec 24, 2025
e8c74b8
fix system_server crash in NotificationHistory.getPooledStringsToWrite()
muhomorr Dec 17, 2025
77b12b3
Monitor Settings.Global.DEVICE_PROVISIONED, if changed from 0 to 1 an…
Jan 23, 2026
6260667
Fix SecurityException crash when setting wallpaper from Google Photos
Jan 26, 2026
dd2cbc9
Fix media duration calculation for HTTP streams larger than 2GB
Jan 26, 2026
bef6397
fixup! aapt: Use a std::map instead of a SortedVector
cyberknight777 Jan 26, 2026
d2fa9cc
add workaround for system_server startUserInBackgroundTemporarily crash
muhomorr Jan 23, 2026
7566c1f
Minor code optimization for FileObserver.
Dec 1, 2025
0dd313a
wm: Only close system dialogs for visible windows
Jan 26, 2026
b371ba0
base: Use SingleKeyRule for assist long press
neobuddy89 Feb 1, 2026
c174c49
SystemUI: UdfpsHelper: Check if view is attached before updating layout
idoybh Jan 22, 2026
b3d1655
SystemUI: Prevent indicator text cutting off in biometric prompt
adithya2306 Jan 15, 2025
4a95ead
use shared bitmaps in MediaMetadata to avoid Binder failures
muhomorr Jul 20, 2025
60a1ca0
SystemUI: TunerActivity: Remove vibrate icon if not supported
neobuddy89 Feb 4, 2026
caed874
Fix check for pinned shortcut in ShortcutRequestPinProcessor
Oct 24, 2024
7e05398
Fix boot race in NotificationManagerService
yuangaobk Feb 5, 2026
65c8b15
Fix NavBar haptic feedback after Bluetooth device disconnect
Feb 5, 2026
d02c7c2
SystemUI: Fix edge light, media art, pulse on ambient display
neobuddy89 Feb 12, 2026
083a1ab
audio: add message MSG_L_BT_ACTIVE_DEVICE_CHANGE_EXT to messageMutesM…
Feb 9, 2026
4c15f70
base: Migrate to MaterialExpressiveTheme
Rve27 Jan 19, 2026
ce5b4d6
core: Preventing memory leaks from bloating os memory that leads to OOM
rmp22 Nov 21, 2025
8ceae01
media: disable noisy exifinterface logs
rmp22 Aug 23, 2025
1844d8f
core: add guard to null ResourcesImpl log spam
rmp22 Aug 23, 2025
4071c82
SystemUI: Revert new landscape notification behaviour
prochy-exe May 28, 2022
8408c85
Update CE storage handling in StorageManagerService
cevente Feb 12, 2026
ae66cfb
SystemUI: Fix imageloader spam in BrightnessSliderViewModel
neobuddy89 Oct 22, 2025
8dcd3ad
SystemUI: Extend QS Header Image to support animated GIF/WEBP [1/2]
kamikaonashi Dec 4, 2025
b2a670f
SystemUI: Start QS header animation only on expanding
neobuddy89 Feb 14, 2026
56d9125
SystemUI: Fix concurrent modification exception on config change
neobuddy89 Dec 9, 2025
ccd6af7
SystemUI: ConfigurationControllerImpl: Avoid NullPointerException
someone5678 Dec 15, 2024
59d0626
SystemUI: Add notification row transluency toggle
rmp22 Jan 22, 2026
110111f
SystemUI: Fix notification transparency issues
rmp22 Jan 22, 2026
fe54fdd
SystemUI: Add toggle for translucent notifications on lockscreen
neobuddy89 Oct 9, 2025
b0d6057
SystemUI: Add charging bolt indicator for text-only battery style
Ghosuto Feb 16, 2026
fd3593e
Allow complex resource types to follow references
talle112 Feb 12, 2026
739f300
base: Add support for daily and weekly data usage cycles [1/2]
idoybh Aug 22, 2025
be553db
base: Fix crash caused by back gesture on popup view
Ruyue-Kinsenka Feb 11, 2026
bb21b8e
SystemUI: Hide mobile data tile when unsupported
neobuddy89 Feb 23, 2026
4cfa89d
SystemUI: Add QS tile gradient customization
neobuddy89 Feb 25, 2026
5848771
SystemUI: Add QS brightness slider gradient customization
neobuddy89 Feb 25, 2026
3c2407c
SystemUI: Add volume slider gradient customization
neobuddy89 Feb 26, 2026
69634d6
SystemUI: Add custom gradient start/end color support
neobuddy89 Feb 26, 2026
9b409a7
SystemUI: Add gradient for volume buttons along with slider
neobuddy89 Mar 3, 2026
a192bba
SystemUI: Fix up gradient related glitch in volume slider
neobuddy89 Mar 8, 2026
3465a8b
Avoid NPE in CriticalEventLog.saveLogToFileNow()
mnkassis Feb 26, 2026
a5a30ab
SettingsTheme: Correctly theming AlertDialog with M3 colors
someone5678 Oct 1, 2025
c383d82
SystemUI: Fix notification flicker with transluency enabled
neobuddy89 Mar 3, 2026
39bd10f
Update battery info every second when device is charging
SagarMakhar Aug 7, 2021
bd6c982
Add config overlay for battery info update
ShevT Jan 12, 2023
fb58552
Avoid memory leak of activity in ExitTransitionCoordinator
Mar 6, 2026
bf2da40
SystemUI: Allow Omnijaw weather to show on aod
Ghosuto Jan 11, 2026
af542c7
SystemUI: WeatherViewController: Implement settings observer
neobuddy89 Mar 15, 2026
46f0775
Update EGL context type from EGLDisplay to EGLContext
Mar 17, 2026
da51131
SystemUI: keep Wi-Fi QS tile subtitle Wi-Fi-specific
geek0609 Mar 18, 2026
a872ac9
SystemUI: Introduce Clock face feature
minaripenguin Oct 14, 2024
137da65
SystemUI: Implement weather views for clock styles
minaripenguin Feb 24, 2026
165f8f4
SystemUI: Add layout section for clock style
Arman-ATI Feb 24, 2026
3b5327e
SystemUI: Clocks: Add various clock styles
Ghosuto Nov 9, 2024
95cb008
SystemUI: Lock Screen Clock Accent Color Option
Ghosuto Apr 10, 2025
1076405
SystemUI: Improve clock face color option
Ghosuto May 23, 2025
41e5f34
SystemUI: Hide clock properly when clock style set
tejas101k Feb 27, 2026
5e1aac3
SystemUI: Allow adjust height of lockscreen clock styles [1/2]
tejas101k Feb 27, 2026
c766616
SystemUI: Add support custom clock color [1/2]
Ghosuto Feb 27, 2026
fdfb934
SystemUI: Add block and bubble to no-color exclude list
Ghosuto Mar 7, 2026
17c37f9
SystemUI: Import stylish clock styles
neobuddy89 Mar 17, 2026
83cf2a3
SystemUI: Clocks: Various layout and font fixes
neobuddy89 Mar 19, 2026
f22c3b9
StrictMode triggers a watchdog
Mar 20, 2026
224a0a4
audio: fix direct byte buffer not release
Mar 20, 2026
c850d3b
SystemUI: Add classic QS panel style for tiles
neobuddy89 Mar 26, 2026
b2df047
SystemUI: Fix classic tile specs in some instances
neobuddy89 Mar 28, 2026
381c02b
SystemUI: Add more classic icon shapes
neobuddy89 Apr 5, 2026
32e4930
SystemUI: Fix QS classic tile style jitter during panel expansion
Ghosuto Apr 3, 2026
6bc0f38
SystemUI: Fix qs tile font variable
Ghosuto Apr 4, 2026
4e6b755
SystemUI: hide ticks on flashlight slider
geek0609 Mar 10, 2026
05b3690
AppOpsService: treat empty attribution tags as absent
QuinceROMs Mar 20, 2026
3d2a5b5
InsetsController: skip redundant hide(ime()) tracking
QuinceROMs Mar 20, 2026
1f3d339
SystemUI: clear stale LogAccessDialog timeouts
QuinceROMs Mar 20, 2026
e77e960
Adding theme engine interface
rmp22 Mar 15, 2026
d21a1c8
MediaRouterService: fix A2DP incorrectly suppressed on USB disconnect
Apr 2, 2026
0a27c24
Fixed the issue where settings_secure.xml.fallback fails to generate …
Apr 1, 2026
b271300
Fix the issue of digital jitter during the countdown when using "PIN"…
Apr 3, 2026
98b81aa
Allow sending vendor- or device-specific commands to the camera HAL.
maniac103 Mar 3, 2015
e8824f3
fix StrictMode BackgroundActivityLaunchCallback leak
inthewaves Mar 28, 2026
a1648b0
FontController: Fix font weight handling for variable and named families
joeyhuab Apr 12, 2026
ab5e88b
FontController: Make singleton initialization thread-safe
joeyhuab Apr 12, 2026
95294d2
FontController: Move font feature settings out of TextView
joeyhuab Apr 12, 2026
f6dea4d
TextView: Fix font family tracking for live font switching
joeyhuab Apr 12, 2026
4914d0f
SystemUI: Adding statusbar dynamic bar
rmp22 Feb 24, 2026
1d482fd
SystemUI: Suppress Dynamic Bar notifications when Danmaku is active
Saikrishna1504 Mar 31, 2026
9ee683b
SystemUI: DynamicBar: Align lockscreen chip with keyguard indication …
bijoyv9 Mar 29, 2026
d249c44
SystemUI: DynamicBar: Fixing issues | enhance
rmp22 Mar 30, 2026
650b9ab
SystemUI: DynamicBar: Remove smartspace island manager
neobuddy89 Mar 31, 2026
03aafae
SystemUI: DynamicBar: Fix our torch impl
neobuddy89 Mar 31, 2026
1165dfc
SystemUI: DynamicBar: Add smooth squiggly progress for media content
neobuddy89 Apr 1, 2026
15442bf
SystemUI: DynamicBar: Fix seekbar scrubbing UX for media content
neobuddy89 Apr 1, 2026
d65a37d
SystemUI: DynamicBar: Align expanded cards to top center
neobuddy89 Apr 2, 2026
20d2f2b
SystemUI: DynamicBar: Use actual charging info on lock screen
neobuddy89 Apr 4, 2026
aa009e7
SystemUI: DynamicBar: Fix crash while streaming media
neobuddy89 Apr 11, 2026
472e6df
SystemUI: DynamicBar: Auto-focus reply field when clicking reply button
Saikrishna1504 Apr 11, 2026
267474f
SystemUI: DynamicBar: Allow opening app when reply field is focused
Saikrishna1504 Apr 11, 2026
f48af73
SystemUI: DynamicBar: Limiting status bar chip width
rmp22 Apr 11, 2026
518ff3d
core: Add tricky store port integrate
rmp22 Dec 24, 2025
65bbb82
core: Fixing vbmeta digest abnormal state
rmp22 Dec 27, 2025
a06b1d1
core: Fixing broken tee cert generation
rmp22 Dec 30, 2025
6369fef
core: Adding game spoofing
rmp22 Dec 25, 2025
1b80b08
core: Adding play integrity spoofing
rmp22 Dec 25, 2025
54468cb
core: Fixing stackoverflow in trickystore port
rmp22 Apr 3, 2026
a803986
core: Improving spoofs entry point
rmp22 Mar 27, 2026
0d00290
Update Crowdin configuration file
gwolf2u Oct 31, 2024
e2ff6b9
New Crowdin updates (#1302)
gwolf2u Apr 6, 2026
da50c2b
SystemUI: Added new clock styles
Ghosuto Mar 24, 2026
6466e1a
core: Move trickystore, pif and game props spoof
neobuddy89 Apr 14, 2026
550def5
core: Fix json parsing non-string values in PIF
neobuddy89 Apr 14, 2026
f9183f2
core: pif: skip SDK_INT spoofing for vending process
joeyhuab Apr 15, 2026
3473adf
SystemUI: Add quicklook client
rmp22 Feb 16, 2026
dc554b6
Revert "SystemUI: DynamicBar: Remove smartspace island manager"
neobuddy89 Apr 14, 2026
75e204a
SystemUI: DynamicBar: Fix wrong id smartspace listening
neobuddy89 Apr 15, 2026
f977713
SystemUI: Adding platform hooks
rmp22 Feb 16, 2026
296d175
SystemUI: Adapt platform hooks for dynamic bar usage only
neobuddy89 Apr 14, 2026
bd747a7
Revert "SystemUI: DynamicBar: Fix wrong id smartspace listening"
neobuddy89 Apr 16, 2026
14abb94
SystemUI: DynamicBar: Fixing expanded content top padding
rmp22 Apr 13, 2026
e9ae031
SystemUI: DynamicBar: Add separate card for active calls
neobuddy89 Apr 18, 2026
dd76197
New Crowdin updates (#1304)
gwolf2u Apr 18, 2026
8dc9353
core: Add perf activity anim override
rmp22 Mar 21, 2026
6460b20
core: Upgrading to m3e animation specs
rmp22 Apr 18, 2026
e1d3829
SystemUI: Skipping overlays application on managed profiles
rmp22 Apr 11, 2026
21c6ef1
New translations cr_strings.xml (Korean)
gwolf2u Apr 19, 2026
953cd2e
New translations cr_strings.xml (Polish)
gwolf2u Apr 20, 2026
0cb06ff
New translations cr_strings.xml (Romanian)
gwolf2u Apr 25, 2026
a30caac
New translations cr_strings.xml (French)
gwolf2u Apr 25, 2026
6a50505
New translations cr_strings.xml (Spanish)
gwolf2u Apr 25, 2026
92a2279
New translations cr_strings.xml (Arabic)
gwolf2u Apr 25, 2026
a5dd46d
New translations cr_strings.xml (Belarusian)
gwolf2u Apr 25, 2026
a290741
New translations cr_strings.xml (Bulgarian)
gwolf2u Apr 25, 2026
8fbd079
New translations cr_strings.xml (Catalan)
gwolf2u Apr 25, 2026
ea0d5b9
New translations cr_strings.xml (Czech)
gwolf2u Apr 25, 2026
6f822e1
New translations cr_strings.xml (German)
gwolf2u Apr 25, 2026
137df15
New translations cr_strings.xml (Greek)
gwolf2u Apr 25, 2026
0f06562
New translations cr_strings.xml (Finnish)
gwolf2u Apr 25, 2026
8eece42
New translations cr_strings.xml (Hebrew)
gwolf2u Apr 25, 2026
6788c11
New translations cr_strings.xml (Hungarian)
gwolf2u Apr 25, 2026
dd4e3b9
New translations cr_strings.xml (Italian)
gwolf2u Apr 25, 2026
cb48491
New translations cr_strings.xml (Japanese)
gwolf2u Apr 25, 2026
8341f00
New translations cr_strings.xml (Korean)
gwolf2u Apr 25, 2026
bd840ec
New translations cr_strings.xml (Kurdish)
gwolf2u Apr 25, 2026
b2520cf
New translations cr_strings.xml (Dutch)
gwolf2u Apr 25, 2026
6c07d7b
New translations cr_strings.xml (Polish)
gwolf2u Apr 25, 2026
a25d4a8
New translations cr_strings.xml (Portuguese)
gwolf2u Apr 25, 2026
a689450
New translations cr_strings.xml (Russian)
gwolf2u Apr 25, 2026
17eec9b
New translations cr_strings.xml (Slovak)
gwolf2u Apr 25, 2026
a64ec63
New translations cr_strings.xml (Turkish)
gwolf2u Apr 25, 2026
1418b66
New translations cr_strings.xml (Ukrainian)
gwolf2u Apr 25, 2026
ef18f37
New translations cr_strings.xml (Chinese Simplified)
gwolf2u Apr 25, 2026
ea92a50
New translations cr_strings.xml (Chinese Traditional)
gwolf2u Apr 25, 2026
77da789
New translations cr_strings.xml (Vietnamese)
gwolf2u Apr 25, 2026
26222b7
New translations cr_strings.xml (Indonesian)
gwolf2u Apr 25, 2026
838fe24
New translations cr_strings.xml (Persian)
gwolf2u Apr 25, 2026
f3df85c
New translations cr_strings.xml (Estonian)
gwolf2u Apr 25, 2026
eefde6b
New translations cr_strings.xml (Azerbaijani)
gwolf2u Apr 25, 2026
1e28e2e
New translations cr_strings.xml (Santali)
gwolf2u Apr 25, 2026
e1cf706
New translations cr_strings.xml (Romanian)
gwolf2u Apr 25, 2026
22b8f4b
New translations cr_strings.xml (French)
gwolf2u Apr 25, 2026
dd334d1
New translations cr_strings.xml (Spanish)
gwolf2u Apr 25, 2026
3b29125
New translations cr_strings.xml (Arabic)
gwolf2u Apr 25, 2026
025f290
New translations cr_strings.xml (Belarusian)
gwolf2u Apr 25, 2026
724ad3b
New translations cr_strings.xml (Bulgarian)
gwolf2u Apr 25, 2026
4778b9e
New translations cr_strings.xml (Catalan)
gwolf2u Apr 25, 2026
5d4e650
New translations cr_strings.xml (Czech)
gwolf2u Apr 25, 2026
de62c80
New translations cr_strings.xml (German)
gwolf2u Apr 25, 2026
5d84767
New translations cr_strings.xml (Greek)
gwolf2u Apr 25, 2026
f053319
New translations cr_strings.xml (Finnish)
gwolf2u Apr 25, 2026
1c0e94e
New translations cr_strings.xml (Hebrew)
gwolf2u Apr 25, 2026
4ce0468
New translations cr_strings.xml (Hungarian)
gwolf2u Apr 25, 2026
de8e963
New translations cr_strings.xml (Italian)
gwolf2u Apr 25, 2026
29e4b74
New translations cr_strings.xml (Japanese)
gwolf2u Apr 25, 2026
93ea300
New translations cr_strings.xml (Korean)
gwolf2u Apr 25, 2026
7f2f058
New translations cr_strings.xml (Kurdish)
gwolf2u Apr 25, 2026
1190f85
New translations cr_strings.xml (Dutch)
gwolf2u Apr 25, 2026
194af9f
New translations cr_strings.xml (Polish)
gwolf2u Apr 25, 2026
3411879
New translations cr_strings.xml (Portuguese)
gwolf2u Apr 25, 2026
fc6b190
New translations cr_strings.xml (Russian)
gwolf2u Apr 25, 2026
55037c5
New translations cr_strings.xml (Slovak)
gwolf2u Apr 25, 2026
c6554a0
New translations cr_strings.xml (Turkish)
gwolf2u Apr 25, 2026
22c9f38
New translations cr_strings.xml (Ukrainian)
gwolf2u Apr 25, 2026
711ab04
New translations cr_strings.xml (Chinese Simplified)
gwolf2u Apr 25, 2026
6f31d98
New translations cr_strings.xml (Chinese Traditional)
gwolf2u Apr 25, 2026
ac96f5f
New translations cr_strings.xml (Vietnamese)
gwolf2u Apr 25, 2026
2db889a
New translations cr_strings.xml (Portuguese, Brazilian)
gwolf2u Apr 25, 2026
3df4d74
New translations cr_strings.xml (Indonesian)
gwolf2u Apr 25, 2026
7b19df8
New translations cr_strings.xml (Persian)
gwolf2u Apr 25, 2026
75212ee
New translations cr_strings.xml (Estonian)
gwolf2u Apr 25, 2026
c1c978f
New translations cr_strings.xml (Azerbaijani)
gwolf2u Apr 25, 2026
807c64c
New translations cr_strings.xml (Santali)
gwolf2u Apr 25, 2026
18e31e1
New translations cr_strings.xml (Portuguese, Brazilian)
gwolf2u Apr 25, 2026
File filter

Filter by extension

Filter by extension

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

":adbrootservice_aidl",
":lmofreeform_aidl",

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

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

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

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

if (enforce_overlayable) {
// Filter out resources the overlay is not allowed to override.
auto overlayable = CheckOverlayable(target, overlay_info, fulfilled_policies, *target_resid);
if (!overlayable) {
log_info.Warning(LogMessage() << "overlay '" << overlay.GetPath()
Expand Down
2 changes: 1 addition & 1 deletion core/java/android/animation/Animator.java
Original file line number Diff line number Diff line change
Expand Up @@ -739,7 +739,7 @@ <T, A> void callOnList(
for (int i = 0; i < size; i++) {
//noinspection unchecked
T item = (T) array[i];
call.call(item, animator, isReverse);
if (item != null) call.call(item, animator, isReverse);
array[i] = null;
}
// Store it for the next call so we can reuse this array, if needed.
Expand Down
42 changes: 36 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 Down Expand Up @@ -253,6 +255,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 +4727,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 +5574,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 +5605,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 +5713,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 +7184,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 +7940,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 +8016,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 @@ -9067,7 +9092,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 +9112,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
19 changes: 19 additions & 0 deletions core/java/android/app/AppLockData.aidl
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Copyright (C) 2022 FlamingoOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package android.app;

parcelable AppLockData;
109 changes: 109 additions & 0 deletions core/java/android/app/AppLockData.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
/*
* Copyright (C) 2022 FlamingoOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package android.app;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.os.Parcel;
import android.os.Parcelable;

/**
* Class to hold package level information about an
* application for app lock.
*
* @hide
*/
public final class AppLockData implements Parcelable {

public static final Parcelable.Creator<AppLockData> CREATOR =
new Parcelable.Creator<AppLockData>() {

@Override
public AppLockData createFromParcel(Parcel in) {
return new AppLockData(in);
}

@Override
public AppLockData[] newArray(int size) {
return new AppLockData[size];
}
};

private final String mPackageName;
private final boolean mShouldProtectApp;
private final boolean mShouldRedactNotification;
private final boolean mHideFromLauncher;

/** @hide */
public AppLockData(
@NonNull final String packageName,
final boolean shouldProtectApp,
final boolean shouldRedactNotification,
final boolean hideFromLauncher
) {
mPackageName = packageName;
mShouldProtectApp = shouldProtectApp;
mShouldRedactNotification = shouldRedactNotification;
mHideFromLauncher = hideFromLauncher;
}

private AppLockData(final Parcel in) {
mPackageName = in.readString();
mShouldProtectApp = in.readBoolean();
mShouldRedactNotification = in.readBoolean();
mHideFromLauncher = in.readBoolean();
}

@NonNull
public String getPackageName() {
return mPackageName;
}

public boolean getShouldProtectApp() {
return mShouldProtectApp;
}

public boolean getShouldRedactNotification() {
return mShouldRedactNotification;
}

public boolean getHideFromLauncher() {
return mHideFromLauncher;
}

@Override
public int describeContents() {
return 0;
}

@Override
public void writeToParcel(final Parcel parcel, final int flags) {
parcel.writeString(mPackageName);
parcel.writeBoolean(mShouldProtectApp);
parcel.writeBoolean(mShouldRedactNotification);
parcel.writeBoolean(mHideFromLauncher);
}

@Override
@NonNull
public String toString() {
return "AppLockData[ packageName = " + mPackageName +
", shouldProtectApp = " + mShouldProtectApp +
", shouldRedactNotification = " + mShouldRedactNotification +
", hideFromLauncher = " + mHideFromLauncher + " ]";
}
}
Loading