Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
381 commits
Select commit Hold shift + click to select a range
6f8ec51
ErrorDialogController: do not auto-dismiss crash dialogs
muhomorr Oct 1, 2023
4a12b8c
fix ANR details link not working in profiles and in secondary users
muhomorr Nov 1, 2024
4117446
include path of ANR stack traces file in ApplicationErrorReport
muhomorr Oct 7, 2024
48edc20
don't block reading ANR stack traces file via Unix file permissions
muhomorr Oct 8, 2024
2c5ca20
add option to view application error details in LogViewer app
muhomorr Aug 8, 2022
446d5bf
Set always-on and lockdown on by default on first vpn connection at s…
quh4gko8 Aug 1, 2022
8889c7b
pre-grant POST_NOTIFICATIONS to more system apps
muhomorr Aug 22, 2022
02b8eef
allow privileged installer to search for packages across all users
muhomorr Nov 23, 2022
63f535f
extend original-package renaming to provider authorities for Vanadium
muhomorr Nov 5, 2022
31ce4f1
extend original-package renaming to static launcher shortcuts
muhomorr Nov 23, 2022
a891089
bugfix: properly acquire package state from original package
quh4gko8 Mar 13, 2024
05fc452
disable package parser cache
muhomorr Jan 30, 2023
3210860
perform additional boot-time checks on system package updates
muhomorr Jan 31, 2023
9dfbdab
allow out-of-band package updates to use original-package system
muhomorr Jan 27, 2023
eb6d4aa
require fs-verity when installing system package updates
muhomorr Jan 31, 2023
b77b8b6
don't allow updating system packages to the same versionCode
muhomorr Dec 27, 2022
92a918f
allow privileged installers to use getSharedLibraries(MATCH_ANY_USER)
muhomorr Mar 30, 2024
ed89efd
allow only first party app source and shell to update system packages
muhomorr May 2, 2024
d5a1750
Remove build fingerprint from screenshot EXIF
x86pup Apr 29, 2022
d35dd45
add toggle for screenshot timestamp EXIF metadata
x86pup Feb 18, 2023
be10cf0
SUPL: Don't send IMSI / Phone number to SUPL server
MSe1969 Oct 29, 2018
0c9adcc
add GNSS SUPL setting
muhomorr Mar 3, 2023
aaeb95a
allow privileged installers to maintain a global list of busy packages
muhomorr Mar 4, 2023
5315fd6
add option to scramble PIN layout
muhomorr Feb 24, 2023
e9206c9
enable LOCK_PIN_ENHANCED_PRIVACY setting by default
muhomorr Jun 14, 2023
30f896b
don't crash apps that depend on missing Gservices provider
muhomorr Mar 26, 2023
203112b
integrate Google's EuiccSupportPixel package
muhomorr Mar 27, 2023
b112122
integrate Google's eUICC LPA package (EuiccGoogle)
muhomorr May 30, 2023
c7cf2bc
do not auto-grant Camera permission to the eUICC LPA UI app
muhomorr Mar 19, 2023
d8ee8ad
add a method for sending BOOT_COMPLETED broadcast to a specific package
muhomorr Dec 23, 2023
5598643
define READ_DEVICE_SERIAL_NUMBER permission for Build.getSerial() access
muhomorr Dec 18, 2023
eafcce7
aauto: define a restricted version of the MANAGE_USB permission
muhomorr Dec 18, 2023
ce92749
aauto: add definition of restricted BLUETOOTH_PRIVILEGED permission
muhomorr Dec 18, 2023
bd0ab15
aauto: add definition of restricted WIFI_PRIVILEGED permission
muhomorr Dec 18, 2023
740c944
aauto: add definition of restricted READ_PRIVILEGED_PHONE_STATE permi…
muhomorr Dec 25, 2023
3c7828a
adjust definition of TelecomManager.getUserSelectedOutgoingPhoneAccou…
muhomorr Dec 25, 2023
dde910c
aauto: support using aauto USB accessory activity as a default activity
muhomorr Dec 20, 2023
bccf3ac
aauto: define ASSOCIATE_COMPANION_DEVICES_RESTRICTED permission
muhomorr Dec 18, 2023
1adb8ee
aauto: support allowing association with "automotive projection" devices
muhomorr Dec 18, 2023
ea42cf6
add BinderWrapper
muhomorr Jan 17, 2025
1a49c63
gmscompat: add compatibility layer for unprivileged GMS
thestinger Jun 6, 2023
2451b3d
require vendor camera extensions package to be a system app by default
muhomorr Mar 30, 2023
4127d28
add config for Pixel Camera Services
muhomorr Jan 9, 2024
94bf2e3
infrastructure for creating per-package seinfo overrides
muhomorr Mar 30, 2023
51fd5c7
support denying special access to hardware accelerators by Google apps
muhomorr Apr 6, 2023
7a2ae1d
add GNSS PSDS setting
muhomorr May 2, 2023
ae3cd41
support redirecting ContentProvider calls to another provider
muhomorr May 16, 2023
4aa06a0
infrastructure for the Contact Scopes feature
muhomorr May 16, 2023
468a624
add connectivity checks setting and its migration from Settings.Global
muhomorr May 25, 2023
2c0cfc9
Wi-Fi auto turn off
muhomorr Jul 31, 2022
ff861e8
Bluetooth auto turn off
muhomorr Jul 31, 2022
8fe7e2f
add support for hooking LocationManager methods
muhomorr Jun 19, 2023
f5b51c5
improve compat with apps that try to access network location provider
muhomorr Jun 19, 2023
1595728
add RemoteKeyProvisioning server override setting
muhomorr Aug 10, 2023
b580096
don't skip AOT compilation of apps that weren't recently used
muhomorr Nov 14, 2022
74ab828
do not delete compiled code (OAT files) of hibernated apps
muhomorr Oct 11, 2023
92576f5
disable OtaDexoptService
muhomorr Oct 23, 2023
14b5c40
add notification-based UI for the background dexopt job
muhomorr Oct 23, 2023
c236263
infrastructure for per-package dex2oat compiler filter overrides
muhomorr Oct 31, 2023
f73381d
always use speed dex2oat compiler filter for VPN service packages
muhomorr Nov 1, 2023
07350c1
add helper class for notifications that link AppSwitch UI
muhomorr Nov 8, 2023
d5be62d
infrastructure for passing extra args to Zygote and WebViewZygote
muhomorr Sep 23, 2023
228d42d
infrastructure for passing SELinux flags to the kernel
muhomorr Sep 24, 2023
d71db6c
add per-app setting for hardened_malloc and extended VA space
muhomorr Sep 26, 2023
a72e3d3
always stop app zygotes when app is being force-stopped
muhomorr Nov 8, 2023
aed8466
add per-app native debugging setting
muhomorr Sep 26, 2023
e6ba98a
add system API for getting app info by PID
muhomorr Nov 8, 2023
ed2fe35
infrastructure for handling callbacks from logd to system_server
muhomorr Nov 8, 2023
bbf1097
infrastructure for showing notifications about SELinux TSEC_FLAG denials
muhomorr Nov 15, 2023
7579e04
show notification after app is blocked from accessing ptrace
muhomorr Nov 19, 2023
b62687d
fix rate limiting for non-app tombstones
muhomorr Nov 8, 2023
86f8f6a
DropBoxManager: fix TreeSet API contract violations
muhomorr Dec 23, 2023
3bb9764
fix an upstream race condition in handling of system error files
muhomorr Oct 7, 2024
9874c2f
DropBox: skip spurious system_server_crash entries
muhomorr Jan 15, 2024
63db123
DropBox: skip fsck.f2fs results that don't contain errors
muhomorr Jan 16, 2024
4991eaf
notify the user about notable system journal entries
muhomorr Nov 8, 2023
c878717
support for per-app dynamic code loading restrictions
muhomorr Sep 26, 2023
d49b6f9
add test for SELinux flags-based per-app hardening features
muhomorr Sep 20, 2023
474d00f
add per-app memory tagging setting
muhomorr Nov 5, 2023
8d691fc
Widevine provisioning setting
maade93791 Sep 29, 2023
0266a7d
hide from Aurora Store packages that it's not allowed to update
muhomorr Jan 15, 2024
b53b0d2
run full explicit GC in SystemUI and system_server after locking
thestinger Feb 2, 2024
36f6d71
add UsbManager API for configuring USB port security state
muhomorr Feb 23, 2024
3eccf68
add setting for USB port security state
muhomorr Feb 23, 2024
365a8ad
Do not use filter calling uid parameter originally intended for insta…
quh4gko8 Nov 3, 2023
472ccec
Disallow the camera shortcut toggle from the lockscreen
neelchauhan May 28, 2024
0f20766
disable support for adoptable storage
muhomorr May 29, 2024
9f1d449
add a helper class for wiping eUICCs
muhomorr May 29, 2024
abd30b6
extend the upstream wipe-without-reboot implementation
muhomorr Jun 1, 2024
550a064
add duress password feature
muhomorr May 29, 2024
38f4f2d
add lock_settings shell commands for testing the duress password feature
muhomorr May 30, 2024
0f8351b
add lock_settings shell command option for printing executed Weaver ops
muhomorr Jun 1, 2024
4b32710
add a test for the duress password feature
muhomorr May 29, 2024
925bc4a
fix ApplicationInfo flag initialization being skipped in some cases
muhomorr Jun 13, 2024
e244024
stub out reads of hidden system settings in Google's text-to-speech app
muhomorr Jul 1, 2024
08c3613
make Google's text-to-speech app force-queryable
muhomorr Nov 25, 2024
911211a
show a deprecation warning dialog on each launch of a 32-bit app
muhomorr Jul 6, 2024
a61478a
better 32-bit deprecation warning
thestinger Jul 7, 2024
b0f1959
fix touch-to-unlock on Google devices with side fingerprint scanner
muhomorr Jul 16, 2024
9772868
add setting for alternative touchscreen mode
muhomorr Jun 19, 2024
562b451
don't report some android.hardware.bluetooth-service.bcmbtlinux crashes
muhomorr Aug 5, 2024
2ee0a6e
don't report harmless fingerprint-service.goodix crash
muhomorr Nov 15, 2024
e11b172
sysconfig: support enabling association restrictions without exemptions
muhomorr Aug 29, 2024
3c5f6b1
add config for Pixel Health app
muhomorr Aug 26, 2024
6aa8e04
new PermissionService: implement shouldBlockGrantRuntimePermission()
muhomorr Aug 10, 2024
9072b0e
new PermissionService: implement updatePermissions()
muhomorr Aug 10, 2024
f18e718
new PermissionService: implement PackageHooks support
muhomorr Aug 10, 2024
a6ab3f3
new PermissionService: support for special runtime permissions
muhomorr Aug 11, 2024
fdca90c
temp: unconditionally enable system crash notifications
muhomorr Jun 3, 2024
ac28060
Revert "temp: unconditionally enable system crash notifications"
thestinger Jun 13, 2024
0d6bc27
ignore factory reset protection (FRP)
muhomorr Oct 16, 2024
2cc4d74
fix check for the current holder of the Wallet app role
muhomorr Oct 19, 2024
886762b
disable memory tagging for Pixel Camera Services
muhomorr Oct 20, 2024
0de35a9
don't remove app widgets from user's home screen when the user stops
muhomorr Oct 22, 2024
3be8abb
raise backup transport timeout
thestinger Oct 23, 2024
7b313a9
add utility class for obtaining and keeping track of Binder caller info
muhomorr Nov 4, 2024
5a14d01
fix handling of MATCH_ARCHIVED_PACKAGES flag in getPackageUidInternal()
muhomorr Nov 4, 2024
1ca2f2b
delay activation of the Allow button in USB ADB confirmation dialog
muhomorr Dec 5, 2024
5e692d3
FusedLocation: remove racy and redundant lazy init in Service.onBind()
muhomorr Dec 4, 2024
2ae0cc1
never remove location providers at runtime
muhomorr Dec 4, 2024
27c26d2
disable safe media volume management
muhomorr Dec 11, 2024
52232d7
add battery charge limit setting
muhomorr Dec 29, 2024
81063f5
SystemUI: add support for battery charge limit feature
muhomorr Dec 29, 2024
9434c98
add dev option to log Java binder transaction
muhomorr Dec 28, 2024
816bd0d
prevent recycling user IDs
u-fred Dec 21, 2024
29e2f8f
add LockDomain
u-fred Dec 21, 2024
0c42a16
add second factor to DevicePolicyManagerService
u-fred Dec 21, 2024
d77922d
add second factor to LockSettingsService
u-fred Dec 21, 2024
913ce19
add second factor to LockSettingsStateListener
u-fred Dec 21, 2024
9d8a2e3
add second factor to AdaptiveAuthService
u-fred Dec 21, 2024
66838f3
add second factor to TrustManagerService
u-fred Dec 21, 2024
50b1dfe
add biometric keyguard settings to LPU
u-fred Dec 21, 2024
dd72f1c
improve upstream LPU#isCredentialSharableWithParent
u-fred Dec 21, 2024
8350576
add second factor to LockPattern classes
u-fred Dec 21, 2024
e81a69a
add BiometricAuthTokenStore
u-fred Dec 21, 2024
8535971
add second factor to FingerprintService
u-fred Dec 21, 2024
fdb7c2e
add second factor UI
u-fred Dec 21, 2024
77a2146
throw Exception to notify of SceneContainerFlag
u-fred Dec 21, 2024
cedcbf7
prevent face auth in KUM
u-fred Dec 21, 2024
33581d8
fix upstream fingerprint mode change bug
u-fred Dec 21, 2024
bb252f7
append "Safe" to risky upstream method names
u-fred Dec 22, 2024
dfc35ae
add second factor to fingerprint unlock
u-fred Dec 21, 2024
056850c
fix feature check in DPMS.getPasswordMinimumMetricsUnchecked()
muhomorr Dec 25, 2024
0bb709e
fix collision check in SyntheticPasswordManager.generateProtectorId()
muhomorr Dec 25, 2024
041526c
SystemUI: don't skip fingerprint auth success haptic when 2FA is on
muhomorr Jan 3, 2025
6b6fc38
add workaround for SSM.newTargetUser() system_server crash
muhomorr Jan 6, 2025
bb76791
add workaround for updateWifiBatteryStats() system_server crash
muhomorr Jan 6, 2025
89cab47
don't break boot of debug OS build on permission allowlist violations
muhomorr Jan 7, 2025
bb574ef
opt-out TunerSettings from edge-to-edge
thestinger Jan 9, 2025
78fa897
protect against upstream bugs bypassing 2FA
thestinger Jan 14, 2025
ab611f7
fix serious upstream lockscreen animation bug
thestinger Jan 14, 2025
c8ce1b2
unconditionally show KASAN kernel crash notifications
muhomorr Jan 16, 2025
9a13dbf
disable wake lock based on 2+ screen undims
thestinger Jan 21, 2025
b3842ef
zygote: don't reload android.os.Build after applying appcompat sysprops
muhomorr Jan 24, 2025
04feda6
enable appcompat sysprop overrides for user-installed apps
muhomorr Jan 24, 2025
cf21816
don't delay setting observer callbacks for background system packages
muhomorr Feb 1, 2025
1785d7a
add network location setting
soupslurpr Nov 5, 2024
61a7b97
add network location provider to config_locationProviderPackageNames
soupslurpr Dec 24, 2024
83ed82b
gosps: allow cross-user-profile read permission to PermissionController
muhomorr Feb 26, 2025
8fc56ec
FusedLocation: don't attempt to flush inactive providers
muhomorr Feb 28, 2025
06c94d0
exclude Network Location from location indicator
thestinger Feb 28, 2025
c0729f8
gmscompat: skip location settings check activity when rerouting is on
muhomorr Mar 2, 2025
46386e1
disable HttpEngine preloading for exec spawning
muhomorr Mar 5, 2025
c8b8562
gosps: fix parseFlag(), which is used by automated tests
muhomorr Mar 6, 2025
9c14cc7
gmscompat: fix Play Services for AR being non-installable
Feb 19, 2025
414a65f
gmscompat: fix dev option for installing Pixel Health app
muhomorr Mar 7, 2025
cf63ad9
Fix an NPE when a user is added and then removed quickly
Dec 11, 2024
3ff4e25
JobConcurrencyManager: fix the NPE problem.
Dec 2, 2024
aafa62c
ContentRecorder: fix the NPE problem.
Dec 9, 2024
7bd4fdd
Fix the NPE problem.
Nov 27, 2024
c2abae7
RecentTasks:fix NPE problem to avoid system_server process crash.
Dec 16, 2024
45331b2
ContentRecorder: fix NPE problem to avoid crash when start recording.
Dec 17, 2024
3d055a8
CameraStateMonitor:fix the potential NPE problem.
Dec 17, 2024
ae87879
ScreenRecordingCallbackController: fix NPE problem.
Dec 18, 2024
69b54b6
FadeOutManager: the NPE problem due to add null value to SparseArray.
Dec 16, 2024
af354fb
TaskDisplayArea: fix NPE problem.
Dec 26, 2024
26d7ddd
Fix NPE problem to avoid systemserver process crash.
Feb 19, 2025
beee064
Use local var method to avoid NPE in multithread suition.
Jan 20, 2025
39e9878
Transition: fix NPE problem.
Jan 6, 2025
a737ece
[Bugfix]Fix NPE for PackageInstallerSession
Feb 20, 2025
3f79e19
Fix array index out of bounds exception problem.
Feb 27, 2025
02e213a
AudioService: fix voice volume adjustments
Feb 27, 2025
d520b06
Revert "SystemUI: make screenshot sound use touch sounds setting"
muhomorr Mar 8, 2025
ae09760
SystemUI: make screenshot sound use sound effects setting
muhomorr Mar 8, 2025
9bd26ab
gmscompat: don't call Binder.getCallingUid() in RPC mode
muhomorr Mar 9, 2025
a50f0ca
exempt Terminal app from WebView DCL restrictions
muhomorr Mar 9, 2025
bc046e5
SystemUI: Fix constraints for keyguard slice view
luk1337 Dec 28, 2024
cec918a
SystemUI: Don't remove keyguard slice view
luk1337 Dec 28, 2024
d942819
SystemUI: Fix burn-in translations not applying to keyguard slices
AndyCGYan Jan 18, 2025
d24b438
disable config_keyguardUserSwitcher on tablet devices
muhomorr Mar 9, 2025
cfaa3d2
Revert "gmscompat: skip location settings check activity when rerouti…
muhomorr Mar 13, 2025
39833b7
config: enable desktop mode support
muhomorr Mar 15, 2025
ca9666c
SystemUI: improve alignment between keyguard clock and date
muhomorr Mar 18, 2025
e2f56ec
SystemUI: fix keyguard media section placement when split shade is used
muhomorr Mar 18, 2025
ae81b2c
SystemUI: fix orientation of keyguard slice view rows
muhomorr Mar 20, 2025
62bb47d
SystemUI: don't hide date text on lockscreen when media is playing
muhomorr Mar 20, 2025
9a5842e
SystemUI: add keyguard slice view to split shade layout
muhomorr Mar 20, 2025
d728370
gmscompat: improve support for overriding Gservices flags
muhomorr Mar 20, 2025
c22d8a3
gmscompat: improve support for overriding phenotype flags
muhomorr Mar 21, 2025
384e824
gmscompat: remove unused valueSupplier support in GmsFlag class
muhomorr Mar 21, 2025
b7fd0b5
gmscompat: remove no longer needed hooks for phenotype flag overrides
muhomorr Mar 21, 2025
5e7c8ab
gmscompat: fix flag overrides not being applied in some cases
muhomorr Mar 21, 2025
f8fe3b1
bp1f: update Build.VERSION_CODES.BAKLAVA
muhomorr Mar 23, 2025
f6092e1
SystemUI: fix a screenshot process crash in ScrollCaptureController
muhomorr Mar 25, 2025
ced2880
Revert "don't allow to install APEXes"
muhomorr Mar 23, 2025
9159a3d
don't allow to install APEXes on user builds
muhomorr Mar 23, 2025
52bb27e
fix NPE system_server crash in F2fsUtils.getFilesRecursive()
muhomorr Mar 28, 2025
6cbbfdd
don't allow enabling the instant apps feature
muhomorr Mar 30, 2025
1a62a3a
don't allow enabling the "add users when locked" setting
muhomorr Mar 30, 2025
785bec7
gmscompat: Remove STATS_MANAGER from hidden system services
quh4gko8 Apr 2, 2025
263d3b4
fix upstream RecoverySystem.verifyPackage vulnerability
thestinger Apr 9, 2025
8320ef5
Avoid auto-granting special permissions to unarchived apps
chenxiaolong Apr 16, 2025
44903b5
Section for adding non-runtime permissions downstream
quh4gko8 Dec 15, 2024
990095b
Add permission definition to read additional security state
quh4gko8 Dec 18, 2024
ebe6d1c
Extend getting security state bundle to include downstream configurat…
quh4gko8 Dec 16, 2024
a6db3b6
RemoteViews - Always load new ApplicationInfo from PackageManager.
zc-android Jan 17, 2025
5836eea
Allow core uids to register receiver as "android".
Mar 4, 2025
da23772
Revert "Allow core uids to register receiver as "android"."
thestinger May 6, 2025
0e1fd5b
Make UserSwitchObserver.onBeforeUserSwitching oneway but still blocking.
Jan 2, 2025
519d624
Method to fetch if a user can have a specific profile type
quh4gko8 Apr 2, 2025
8302044
Set secondary secondary users allow having private profiles
quh4gko8 Apr 2, 2025
01df086
Support adding private profiles when parent user can have private pro…
quh4gko8 Apr 2, 2025
cfe7b0b
Initial support for auto-locking of private profiles for full seconda…
quh4gko8 May 16, 2025
efb5962
Settings definition for cross profile clipboard access
quh4gko8 Mar 25, 2025
07958e4
Enforce cross profile clipboard access settings
quh4gko8 Mar 25, 2025
12ee101
Revert "Initial support for auto-locking of private profiles for full…
quh4gko8 May 17, 2025
3c4e75d
bugfix: correctly find private profile in main user
quh4gko8 May 17, 2025
b534330
AppCopyHelper: store Context argument as a field
quh4gko8 Dec 31, 2024
d6b9497
AppCopyHelper: Extend SelectableAppInfo fields with info stored from …
quh4gko8 Dec 31, 2024
ebce750
NFC auto turn off
mrxx0 Mar 15, 2025
62a0683
fixup! NFC auto turn off
empratyush May 17, 2025
e0d10ad
Definition of setting to disallow delayed locking on user stop or lock
quh4gko8 May 18, 2025
03b2bb3
Enforce setting to disallow delayed locking for user when stopped/locked
quh4gko8 May 18, 2025
02e1e6c
Set quiet mode on private profiles when its parent secondary user is …
quh4gko8 May 20, 2025
25acc7e
Revert "Set quiet mode on private profiles when its parent secondary …
quh4gko8 May 20, 2025
dc176bc
Set quiet mode on private profiles when its parent user started
quh4gko8 May 20, 2025
2bb3df6
Always cache users that delay storage locking
quh4gko8 May 20, 2025
e15842b
Lock cached profiles that delay locking of storage when parent user i…
quh4gko8 May 20, 2025
a6c2aa7
Revert "Set quiet mode on private profiles when its parent user started"
quh4gko8 May 20, 2025
17e6883
Set quiet mode on private profiles when its parent user unlocked or s…
quh4gko8 May 20, 2025
0c8ac15
fixup! NFC auto turn off
empratyush May 21, 2025
7e92979
bugfix: appropriately set quiet mode when being enabled/disabled
quh4gko8 May 22, 2025
1652ba0
Revert "Set quiet mode on private profiles when its parent user unloc…
quh4gko8 May 27, 2025
66ccbfd
Set quiet mode and stop certain profiles when its parent user is star…
quh4gko8 May 20, 2025
c17bfbf
fixup! infrastructure for custom handling of known packages
quh4gko8 May 27, 2025
3b3917c
Definition of AppInfoExt flag for apps signed using Play signing
quh4gko8 May 27, 2025
4cd7022
Append AppInfoExt flag for apps signed with Play signing
quh4gko8 May 27, 2025
4f353a0
PackageExt: Method to check for presence of an AppInfoExt flag
quh4gko8 May 27, 2025
32f3b7d
Hide provider(s) for startup on apps with valid Play Store source stamp
quh4gko8 May 27, 2025
7cd24e5
Add motion lock settings and main logic
ciphertreat May 27, 2025
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 @@ -247,6 +247,7 @@ java_library {
"android.hardware.usb-V1.0-java-constants",
"android.hardware.usb-V1.1-java-constants",
"android.hardware.usb-V1.2-java-constants",
"android.hardware.usb.ext-V1-java",
"android.hardware.usb.gadget-V1-java",
"android.hardware.usb.gadget-V1.0-java",
"android.hardware.usb.gadget-V1.1-java",
Expand Down
12 changes: 12 additions & 0 deletions apex/jobscheduler/framework/java/android/app/AlarmManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.annotation.TestApi;
import android.app.compat.gms.GmsCompat;
import android.compat.annotation.ChangeId;
import android.compat.annotation.EnabledSince;
import android.compat.annotation.UnsupportedAppUsage;
Expand Down Expand Up @@ -1049,6 +1050,17 @@ private void setImpl(@AlarmType int type, long triggerAtMillis, long windowMilli
long intervalMillis, int flags, PendingIntent operation, final OnAlarmListener listener,
String listenerTag, Executor targetExecutor, WorkSource workSource,
AlarmClockInfo alarmClock) {
if (GmsCompat.isEnabled()) {
if (windowMillis == WINDOW_EXACT && !canScheduleExactAlarms()) {
windowMillis = WINDOW_HEURISTIC;
}
// non-null WorkSource requires privileged UPDATE_DEVICE_STATS permission
workSource = null;

// requires privileged SCHEDULE_PRIORITIZED_ALARM permission
flags &= ~FLAG_PRIORITIZE;
}

if (triggerAtMillis < 0) {
/* NOTYET
if (mAlwaysExact) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,11 @@
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.annotation.UserHandleAware;
import android.app.compat.gms.GmsCompat;
import android.content.Context;

import com.android.internal.gmscompat.GmsCompatApp;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Collections;
Expand Down Expand Up @@ -626,6 +629,11 @@ public void removeFromPermanentAllowList(@NonNull String packageName) {
@RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST)
public void addToTemporaryAllowList(@NonNull String packageName, @ReasonCode int reasonCode,
@Nullable String reason, long durationMs) {
if (GmsCompat.isEnabled()) {
GmsCompatApp.raisePackageToForeground(packageName, durationMs, reason, reasonCode);
return;
}

try {
mService.addPowerSaveTempWhitelistApp(packageName, durationMs, mContext.getUserId(),
reasonCode, reason);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ void addPowerSaveTempWhitelistAppDirect(int uid, long duration,

boolean isAppOnWhitelist(int appid);

int[] getPowerSaveWhitelistUserAppIds();
int[] getPowerSaveWhitelistAppIds();

int[] getPowerSaveTempWhitelistAppIds();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2389,14 +2389,14 @@ public String[] getFullPowerWhitelistExceptIdle() {
}

/**
* Returns the array of app ids whitelisted by user. Take care not to
* Returns the array of whitelisted app ids. Take care not to
* modify this, as it is a reference to the original copy. But the reference
* can change when the list changes, so it needs to be re-acquired when
* {@link PowerManager#ACTION_POWER_SAVE_WHITELIST_CHANGED} is sent.
*/
@Override
public int[] getPowerSaveWhitelistUserAppIds() {
return DeviceIdleController.this.getPowerSaveWhitelistUserAppIds();
public int[] getPowerSaveWhitelistAppIds() {
return DeviceIdleController.this.getAppIdWhitelistInternal();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1034,7 +1034,7 @@ void determineAssignmentsLocked(final ArraySet<ContextAssignment> changed,
for (int p = preferredUidOnly.size() - 1; p >= 0; --p) {
final ContextAssignment assignment = preferredUidOnly.get(p);
final JobStatus runningJob = assignment.context.getRunningJobLocked();
if (runningJob.getUid() != nextPending.getUid()) {
if (runningJob == null || runningJob.getUid() != nextPending.getUid()) {
continue;
}
final int jobBias = mService.evaluateJobBiasLocked(runningJob);
Expand Down Expand Up @@ -1916,8 +1916,9 @@ boolean executeStopCommandLocked(PrintWriter pw, String pkgName, int userId,
for (int i = 0; i < mActiveServices.size(); i++) {
final JobServiceContext jc = mActiveServices.get(i);
final JobStatus js = jc.getRunningJobLocked();
if (jc.stopIfExecutingLocked(pkgName, userId, namespace, matchJobId, jobId,
stopReason, internalStopReason)) {
if (js != null &&
jc.stopIfExecutingLocked(pkgName, userId, namespace,
matchJobId, jobId, stopReason, internalStopReason)) {
foundSome = true;
pw.print("Stopping job: ");
js.printUniqueId(pw);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ public void onReceive(Context context, Intent intent) {
case PowerManager.ACTION_POWER_SAVE_WHITELIST_CHANGED:
synchronized (mLock) {
mDeviceIdleWhitelistAppIds =
mLocalDeviceIdleController.getPowerSaveWhitelistUserAppIds();
mLocalDeviceIdleController.getPowerSaveWhitelistAppIds();
if (DEBUG) {
Slog.d(TAG, "Got whitelist "
+ Arrays.toString(mDeviceIdleWhitelistAppIds));
Expand Down Expand Up @@ -133,7 +133,7 @@ public DeviceIdleJobsController(JobSchedulerService service) {
mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
mLocalDeviceIdleController =
LocalServices.getService(DeviceIdleInternal.class);
mDeviceIdleWhitelistAppIds = mLocalDeviceIdleController.getPowerSaveWhitelistUserAppIds();
mDeviceIdleWhitelistAppIds = mLocalDeviceIdleController.getPowerSaveWhitelistAppIds();
mPowerSaveTempWhitelistAppIds =
mLocalDeviceIdleController.getPowerSaveTempWhitelistAppIds();
mDeviceIdleUpdateFunctor = new DeviceIdleUpdateFunctor();
Expand Down Expand Up @@ -194,7 +194,7 @@ public void setUidActiveLocked(int uid, boolean active) {
}

/**
* Checks if the given job's scheduling app id exists in the device idle user whitelist.
* Checks if the given job's scheduling app id exists in the device idle whitelist.
*/
boolean isWhitelistedLocked(JobStatus job) {
return Arrays.binarySearch(mDeviceIdleWhitelistAppIds,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import android.app.job.UserVisibleJobSummary;
import android.content.ClipData;
import android.content.ComponentName;
import android.content.Context;
import android.net.Network;
import android.net.NetworkRequest;
import android.net.Uri;
Expand Down Expand Up @@ -2501,6 +2502,23 @@ private boolean isConstraintsSatisfied(int satisfiedConstraints) {
return true;
}

if ((mRequiredConstraintsOfInterest & CONSTRAINT_CONNECTIVITY) != 0) {
if ((satisfiedConstraints & CONSTRAINT_CONNECTIVITY) != 0) {
var pmi = LocalServices.getService(
com.android.server.pm.permission.PermissionManagerServiceInternal.class);

if (pmi.checkUidPermission(getSourceUid(), android.Manifest.permission.INTERNET, Context.DEVICE_ID_DEFAULT) !=
android.content.pm.PackageManager.PERMISSION_GRANTED) {
if (DEBUG) {
Slog.d(TAG, "skipping job " + getJobId() + " for " + getSourcePackageName()
+ " in user " + getSourceUserId() + ": it has CONSTRAINT_CONNECTIVITY, "
+ "but its UID doesn't have the INTERNET permission");
}
return false;
}
}
}

int sat = satisfiedConstraints;
if (overrideState == OVERRIDE_SOFT) {
// override: pretend all 'soft' requirements are satisfied
Expand Down
6 changes: 4 additions & 2 deletions cmds/app_process/app_main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,10 @@ class AppRuntime : public AndroidRuntime
AndroidRuntime* ar = AndroidRuntime::getRuntime();
ar->callMain(mClassName, mClass, mArgs);

IPCThreadState::self()->stopProcess();
hardware::IPCThreadState::self()->stopProcess();
if (mClassName != "com.android.internal.os.ExecInit") {
IPCThreadState::self()->stopProcess();
hardware::IPCThreadState::self()->stopProcess();
}
}

virtual void onZygoteInit()
Expand Down
9 changes: 6 additions & 3 deletions core/api/current.txt
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,7 @@ package android {
field public static final String NFC = "android.permission.NFC";
field public static final String NFC_PREFERRED_PAYMENT_INFO = "android.permission.NFC_PREFERRED_PAYMENT_INFO";
field public static final String NFC_TRANSACTION_EVENT = "android.permission.NFC_TRANSACTION_EVENT";
field public static final String OTHER_SENSORS = "android.permission.OTHER_SENSORS";
field public static final String OVERRIDE_WIFI_CONFIG = "android.permission.OVERRIDE_WIFI_CONFIG";
field public static final String PACKAGE_USAGE_STATS = "android.permission.PACKAGE_USAGE_STATS";
field @Deprecated public static final String PERSISTENT_ACTIVITY = "android.permission.PERSISTENT_ACTIVITY";
Expand Down Expand Up @@ -353,7 +354,9 @@ package android {
field public static final String LOCATION = "android.permission-group.LOCATION";
field public static final String MICROPHONE = "android.permission-group.MICROPHONE";
field public static final String NEARBY_DEVICES = "android.permission-group.NEARBY_DEVICES";
field public static final String NETWORK = "android.permission-group.NETWORK";
field public static final String NOTIFICATIONS = "android.permission-group.NOTIFICATIONS";
field public static final String OTHER_SENSORS = "android.permission-group.OTHER_SENSORS";
field public static final String PHONE = "android.permission-group.PHONE";
field public static final String READ_MEDIA_AURAL = "android.permission-group.READ_MEDIA_AURAL";
field public static final String READ_MEDIA_VISUAL = "android.permission-group.READ_MEDIA_VISUAL";
Expand Down Expand Up @@ -33416,7 +33419,7 @@ package android.os {

public static class Build.VERSION_CODES {
ctor public Build.VERSION_CODES();
field @FlaggedApi("android.sdk.major_minor_versioning_scheme") public static final int BAKLAVA = 10000; // 0x2710
field @FlaggedApi("android.sdk.major_minor_versioning_scheme") public static final int BAKLAVA = 36; // 0x24
field public static final int BASE = 1; // 0x1
field public static final int BASE_1_1 = 2; // 0x2
field public static final int CUPCAKE = 3; // 0x3
Expand Down Expand Up @@ -33456,7 +33459,7 @@ package android.os {
}

@FlaggedApi("android.sdk.major_minor_versioning_scheme") public static class Build.VERSION_CODES_FULL {
field public static final int BAKLAVA = 1000000000; // 0x3b9aca00
field public static final int BAKLAVA = 3600000; // 0x36ee80
field public static final int BASE = 100000; // 0x186a0
field public static final int BASE_1_1 = 200000; // 0x30d40
field public static final int CUPCAKE = 300000; // 0x493e0
Expand Down Expand Up @@ -44421,7 +44424,7 @@ package android.telecom {
method public android.telecom.PhoneAccountHandle getSimCallManager();
method @Nullable public android.telecom.PhoneAccountHandle getSimCallManagerForSubscription(int);
method @Nullable public String getSystemDialerPackage();
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public android.telecom.PhoneAccountHandle getUserSelectedOutgoingPhoneAccount();
method @Nullable @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", "android.permission.READ_PRIVILEGED_PHONE_STATE_ANDROID_AUTO"}) public android.telecom.PhoneAccountHandle getUserSelectedOutgoingPhoneAccount();
method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getVoiceMailNumber(android.telecom.PhoneAccountHandle);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handleMmi(String);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handleMmi(String, android.telecom.PhoneAccountHandle);
Expand Down
37 changes: 37 additions & 0 deletions core/api/module-lib-current.txt
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,20 @@ package android.app.admin {

}

package android.app.compat.gms {

public class GmsModuleHooks {
method @Nullable public static String deviceConfigGetProperty(@NonNull String, @NonNull String);
method public static boolean deviceConfigSetProperties(@NonNull android.provider.DeviceConfig.Properties);
method public static boolean deviceConfigSetProperty(@NonNull String, @NonNull String, @Nullable String);
method @Nullable public static Boolean enableBluetoothAdapter();
method public static void enableNfc();
method public static boolean interceptSynchronousResultReceiverException(@NonNull RuntimeException);
method public static void makeBluetoothAdapterDiscoverable();
}

}

package android.content {

public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
Expand Down Expand Up @@ -154,6 +168,29 @@ package android.content.pm {

}

package android.ext.settings {

public class ConnChecksSetting {
method public static int get();
method public static boolean put(int);
field public static final int VAL_DEFAULT = 0; // 0x0
field public static final int VAL_DISABLED = 2; // 0x2
field public static final int VAL_GRAPHENEOS = 0; // 0x0
field public static final int VAL_STANDARD = 1; // 0x1
}

public class RemoteKeyProvisioningSettings {
method @Nullable public static String getServerUrlOverride(@NonNull android.content.Context);
field public static final int GRAPHENEOS_PROXY = 0; // 0x0
field public static final int STANDARD_SERVER = 1; // 0x1
}

public class WidevineProvisioningSettings {
method @Nullable public static String getServerHostnameOverride(@NonNull android.content.Context);
}

}

package android.hardware.usb {

public class UsbManager {
Expand Down
Loading