Skip to content
This repository has been archived by the owner on Oct 29, 2024. It is now read-only.

Add support for fetching permission state from calling app launching the activity for system browser #446

Open
wants to merge 285 commits into
base: 14
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
285 commits
Select commit Hold shift + click to select a range
056df74
change system_server label from "Android System" to "GrapheneOS"
muhomorr Oct 23, 2023
a51b70d
core/config: [temporary] don't report statementservice crashes
thestinger Oct 20, 2021
d02d82f
core/config: Set config_clockFontFamily to empty string
luk1337 Dec 9, 2022
c2547b2
core/config: enable doze and app standby
thestinger Oct 16, 2016
0113b45
core/config: enable gesture navigation by default
thestinger Nov 28, 2018
e78e388
core/config: enable multi user UI
thestinger Nov 28, 2018
55de726
core/config: revert to pre-12 power button behavior
thestinger Oct 9, 2021
96095ba
core/config: raise maximum users to 32
thestinger Nov 28, 2018
ed7e402
core/config: disable long press on power assistant setting
thestinger Oct 17, 2021
93ac8f3
core/config: disable safe volume everywhere, not just the US
rustybird Apr 22, 2020
1f5b508
core/config: use Cloudflare DNS as the default fallback
thestinger Apr 2, 2018
bb5ee88
core/config: set GrapheneOS launcher as notification listener
thestinger Mar 16, 2021
ba10c46
core/config: use round adaptive icon mask and parse round icons
thestinger Mar 10, 2018
ca1364d
core/config: decrease minimum color temperature for Night Light to 686K
thestinger Aug 26, 2022
2ae46e8
core/config: add camera app QrTile activity as default
empratyush Oct 29, 2022
3c6d54d
SettingsLib: use Cloudflare DNS servers as hints
thestinger Apr 2, 2018
00af278
SettingsLib: support replacing drawable in SelectorWithWidgetPreference
muhomorr May 16, 2023
0244552
SettingsLib: allow Permission APEX to use ActionButtons and MainSwitch
muhomorr Jul 2, 2022
73a178b
SettingsLib: show more APK details on App info screen
muhomorr Mar 2, 2024
2f5c9d2
SettingsLib: add support for extending permission toggle UIs
muhomorr Mar 2, 2024
4ad8077
SettingsProvider: disable bluetooth by default
thestinger Dec 4, 2018
84ef934
SettingsProvider: enable backup support via seedvault
thestinger Oct 15, 2021
31e1684
SettingsProvider: set TEXT_SHOW_PASSWORD to false by default
thestinger Feb 3, 2017
20df844
SettingsProvider: Enable screen auto brightness by default
girlbossceo Jan 6, 2023
a781fe6
SettingsProvider: hide sensitive information while locked by default
thestinger Jan 2, 2017
d1be223
SettingsProvider: Migration for legacy fingerprint keyguard toggle
flawedworld Oct 18, 2021
257d930
SettingsProvider: add a helper class for migrating Global,Secure values
muhomorr May 24, 2023
015f51c
SettingsProviderHooks: Infrastructure for hooking settings state init
quh4gko8 Jun 29, 2023
b9a3e61
Disable "Add users when locked" settings on every boot
quh4gko8 Jul 1, 2023
8369a4a
Disable instant apps feature on every boot
quh4gko8 Jul 1, 2023
743ec14
CarrierConfig: Always show APN settings on CDMA carriers
flawedworld Sep 28, 2021
2129293
CarrierConfig: Do not mark dun APN types as read only
flawedworld Feb 9, 2022
a473139
CarrierConfig: Always show ICCID
flawedworld Mar 5, 2022
9ed4200
CarrierConfig: allow toggling VoWiFi while roaming by default
girlbossceo Mar 24, 2023
162187b
enable secondary user logout support by default
flawedworld Oct 15, 2021
ffaee19
enable backup service for non-owner users
empratyush May 2, 2021
bb44179
increase default max password length to 64
thestinger Jun 29, 2017
466983f
increase default max password length to 128
neelchauhan May 24, 2024
10e9a5b
GrapheneOS boot logo mask
thestinger May 11, 2019
d8b0973
use black wallpaper by default
thestinger Mar 7, 2022
2882217
stop auto-granting location to system browsers
thestinger Mar 17, 2019
5e6396a
appop: Save discrete app op history for more permissions
kdrag0n Oct 11, 2021
c4c0048
add check for empty TTS engine name
thestinger Dec 20, 2020
7473794
Add a config to state whether a device supports increased touch sensi…
lzlrd Jun 30, 2021
e7ff2e2
stop enforcing camera sound for certain carriers
thestinger Feb 11, 2022
f5f3570
colors: Switch to GrapheneOS blue color palette for Material You
kdrag0n Mar 7, 2022
774057f
improve PendingIntent security check compatibility
thestinger Mar 18, 2022
e745f2f
Show USB icon in notification instead of generic system icon
kdrag0n Oct 6, 2020
496c2d3
Sharesheet: Display two rows of max ranked targets
luk1337 Oct 28, 2020
b3dc648
extsettings: add a set of helper classes for defining system settings
muhomorr Feb 12, 2023
c748134
add exec spawning sysprop to ExtSettings
muhomorr May 24, 2023
7cabf20
add exec-based spawning support
thestinger Mar 14, 2015
2bd50d9
disable exec spawning when using debugging options
thestinger May 22, 2019
ea0d4c6
add parameter for avoiding full preload with exec
thestinger May 14, 2019
501257b
pass through fullPreload to libcore
thestinger Sep 11, 2019
91896f7
disable OpenGL preloading for exec spawning
thestinger May 14, 2019
4b9f068
Revert "disable OpenGL preloading for exec spawning"
thestinger Oct 16, 2021
feef070
disable resource preloading for exec spawning
thestinger May 14, 2019
abe4cc4
disable class preloading for exec spawning
thestinger May 14, 2019
d1be13c
disable WebView reservation for exec spawning
thestinger May 14, 2019
60c64e5
disable JCA provider warm up for exec spawning
thestinger May 14, 2019
178f4ab
disable preloading classloaders for exec spawning
thestinger Sep 11, 2019
36b6b16
disable preloading HALs for exec spawning
thestinger Sep 11, 2019
4a639ab
pass through runtime flags for exec spawning and implement them in th…
randomhydrosol Oct 30, 2020
c811d28
exec spawning: don't close the binder connection when the app crashes
muhomorr Aug 8, 2022
9212271
add a wrapper for execveat(2)
muhomorr Aug 14, 2022
40793c2
zygote: define runtime flags that depend on exec spawning
muhomorr Aug 14, 2022
f6fa5b4
exec spawning: support runtime resource overlays
muhomorr Mar 30, 2023
0d6ff0e
exec spawning: support disabling hardened_malloc and extended VA space
muhomorr Aug 14, 2022
9bd95f5
exec spawning: add workaround for late init of ART userfaultfd GC
muhomorr Apr 9, 2024
50aee56
use HTTPS X-Time header for time updates instead of NTP
muhomorr Jan 23, 2024
a1b4257
extend auto-time setting to forced time updates
muhomorr Jan 24, 2024
5456115
reduce system clock drift warning
thestinger Feb 22, 2023
9cab4c4
core/config: disable using telephony-based auto time
thestinger Feb 22, 2023
6457a7f
add system package check methods to PackageUtils
muhomorr Jun 22, 2023
afa01a6
filter out non-system packages from location indicator exemptions
muhomorr Jun 22, 2023
fd9d0ab
filter out non-system packages from getLocationBypassPackages() result
muhomorr Jun 22, 2023
91954a5
define package name of first-party app source
muhomorr Jan 3, 2024
05fa756
SystemUI: require unlocking to use QS tiles by default
muhomorr Mar 11, 2024
274bb51
SystemUI: allow to use some QS tiles while device is locked
muhomorr Mar 11, 2024
6502eb9
SystemUI: enable NFC quick settings tile
thestinger Mar 17, 2019
ca5fcd1
SystemUI: Enable production-ready feature flags
kdrag0n Mar 14, 2022
45e4ac2
SystemUI: Use new privacy indicators for location
kdrag0n Oct 11, 2021
3a3576c
SystemUI: fully enable location indicators by default
thestinger Aug 17, 2022
6c8ffe4
SystemUI: specify config_sceenshotWorkProfileFilesApp
muhomorr Jun 18, 2023
e427740
SystemUI: improve media projection dialog wording
muhomorr Jan 22, 2023
775ffdd
SystemUI: add Battery share & Battery share quick tiles
empratyush Jun 21, 2022
2611712
SystemUI: change default quick tiles and quick tile order
thestinger Oct 19, 2021
1fe9b92
SystemUI: make screenshot sound use touch sounds setting
girlbossceo Mar 19, 2023
0c99d24
SystemUI: have NfcTile get an NfcAdapter directly
inthewaves Sep 20, 2020
5ad23d2
SystemUI: apply "Add users from lock screen" setting to guest users
muhomorr Jun 23, 2023
1f4f965
SystemUI: Allow customizing lock screen shortcuts via ThemePicker
quh4gko8 Oct 10, 2023
ab06544
Add config to exempt telephony-related app from location indicators
kdrag0n Feb 17, 2022
37255f2
exempt some system packages from status bar privacy indicator
thestinger Apr 17, 2022
e228cb0
allow PackageInstaller to use platform APIs
muhomorr Mar 5, 2024
73cee3a
PackageInstaller: link "App info" screen from the uninstallation dialog
muhomorr Apr 17, 2022
39946e3
PackageInstaller: make sure install confirmation returns a result
muhomorr Jun 2, 2022
c0c2382
disable support for pre-approving PackageInstaller sessions
muhomorr Dec 22, 2023
40b88b3
define READ_LOGS_FULL permission for promptless logcat access
muhomorr Jan 6, 2024
2f111c3
add APIs for launching LogViewer app
muhomorr Jan 6, 2024
0cfcc4f
add helpers for system_server extensions
muhomorr Jul 31, 2022
7b6139b
Warn the user if they are using a prototype Pixel device
flawedworld Jun 15, 2022
118dc61
Support forwarding notifications from other users
girlbossceo Mar 19, 2022
8fa8521
DeviceIdleJobsController: don't ignore whitelisted system apps
muhomorr Jul 7, 2022
3b62bb4
do not allow disabling app visibility filtering
muhomorr Apr 6, 2023
94b8a92
add hooks for modifying PackageManagerService behavior
muhomorr Mar 27, 2023
dbd118e
rename AppsFilterImpl.grantImplicitAccess method
muhomorr Apr 30, 2024
7188b5b
add hooks for modifying ActivityThread behavior
muhomorr Aug 18, 2023
b6e6940
AppBindArgs: infrastructure for passing extra args to app process init
muhomorr May 16, 2023
e9968e9
infrastructure for custom handling of known packages
muhomorr Dec 20, 2023
bed607d
gosps: support for per-app GrapheneOS-specific persistent state
muhomorr Jul 31, 2022
3c8440a
extend excludedMethods list in AndroidPackageTest
muhomorr Jun 2, 2024
4bebca9
add method for updating cached package permission state
muhomorr Dec 18, 2023
7a3b7a4
PackageHooks: infrastructure for per-package hooks in system_server
muhomorr Dec 18, 2023
83993b7
add base class for complex per-app switches
muhomorr Sep 24, 2023
c7aa436
infrastructure for spoofing self permission checks
muhomorr Jul 31, 2022
eabb378
infrastructure for special runtime permissions
muhomorr Feb 9, 2023
cc2b212
add special runtime permission for other sensors
muhomorr Feb 9, 2023
ae66e61
notify the user when sensors access is denied by OTHER_SENSORS perm
muhomorr Oct 4, 2022
01d5ab9
make INTERNET into a special runtime permission
thestinger Mar 17, 2019
eca1177
improve compatibility of INTERNET special runtime permission
muhomorr Jul 31, 2022
20d1883
don't run jobs that need connectivity in apps that lack INTERNET perm
muhomorr May 19, 2023
610369f
PackageInstallerUI: an option to skip auto-grant of INTERNET permission
muhomorr Oct 7, 2022
a0edd16
use permanent fingerprint lockout immediately
thestinger Sep 12, 2017
cb70464
add system property for disabling keyguard camera
thestinger Jul 25, 2017
fdd4676
add auto-reboot feature
muhomorr Jan 13, 2024
c38c38a
infrastructure for the Storage Scopes feature
muhomorr Jul 31, 2022
a9207a0
sscopes: temp: disable incomplete handling of READ_MEDIA_VISUAL_USER_…
muhomorr Oct 5, 2023
79dc30d
control access to Android/obb directory with a GosPackageState flag
muhomorr Jul 31, 2022
99d9dc5
add an option to show the details of an application error to the user
muhomorr Aug 8, 2022
f7d73a1
ErrorDialogController: do not auto-dismiss crash dialogs
muhomorr Oct 1, 2023
f93019f
Set always-on and lockdown on by default on first vpn connection at s…
quh4gko8 Aug 1, 2022
d4821bb
pre-grant POST_NOTIFICATIONS to more system apps
muhomorr Aug 22, 2022
3dceaa9
allow privileged installer to search for packages across all users
muhomorr Nov 23, 2022
ab75b2d
extend original-package renaming to provider authorities for Vanadium
muhomorr Nov 5, 2022
fc6ab5a
extend original-package renaming to static launcher shortcuts
muhomorr Nov 23, 2022
936d685
bugfix: properly acquire package state from original package
quh4gko8 Mar 13, 2024
debd906
disable package parser cache
muhomorr Jan 30, 2023
10c5cad
perform additional boot-time checks on system package updates
muhomorr Jan 31, 2023
33596e1
allow out-of-band package updates to use original-package system
muhomorr Jan 27, 2023
2b43dbe
require fs-verity when installing system package updates
muhomorr Jan 31, 2023
fc064e7
don't allow updating system packages to the same versionCode
muhomorr Dec 27, 2022
303b7c1
allow privileged installers to use getSharedLibraries(MATCH_ANY_USER)
muhomorr Mar 30, 2024
56f40d5
allow only first party app source and shell to update system packages
muhomorr May 2, 2024
aa581df
Remove build fingerprint from screenshot EXIF
girlbossceo Apr 29, 2022
95704a5
add toggle for screenshot timestamp EXIF metadata
girlbossceo Feb 18, 2023
62f55a4
SUPL: Don't send IMSI / Phone number to SUPL server
MSe1969 Oct 29, 2018
006a155
add GNSS SUPL setting
muhomorr Mar 3, 2023
3402ee9
allow privileged installers to maintain a global list of busy packages
muhomorr Mar 4, 2023
8e80309
add option to scramble PIN layout
muhomorr Feb 24, 2023
c244322
enable LOCK_PIN_ENHANCED_PRIVACY setting by default
muhomorr Jun 14, 2023
c584ede
don't crash apps that depend on missing Gservices provider
muhomorr Mar 26, 2023
f72ffa2
integrate Google's EuiccSupportPixel package
muhomorr Mar 27, 2023
7e9c019
integrate Google's eUICC LPA package (EuiccGoogle)
muhomorr May 30, 2023
f518522
do not auto-grant Camera permission to the eUICC LPA UI app
muhomorr Mar 19, 2023
57653ca
gmscompat: add compatibility layer for unprivileged GMS
thestinger Jun 6, 2023
eaa4833
require vendor camera extensions package to be a system app by default
muhomorr Mar 30, 2023
e41e60e
add config for Pixel Camera Services
muhomorr Jan 9, 2024
062e1e7
infrastructure for creating per-package seinfo overrides
muhomorr Mar 30, 2023
90b0cba
support denying special access to hardware accelerators by Google apps
muhomorr Apr 6, 2023
6d34907
add GNSS PSDS setting
muhomorr May 2, 2023
b0c5014
support redirecting ContentProvider calls to another provider
muhomorr May 16, 2023
64a15b4
infrastructure for the Contact Scopes feature
muhomorr May 16, 2023
975fa33
add connectivity checks setting and its migration from Settings.Global
muhomorr May 25, 2023
ac935a7
Wi-Fi auto turn off
muhomorr Jul 31, 2022
2190d71
Bluetooth auto turn off
muhomorr Jul 31, 2022
7b00174
implement dynamic deny_new_usb toggle mode
thestinger Jun 16, 2016
8479ca6
add support for hooking LocationManager methods
muhomorr Jun 19, 2023
42ae78f
improve compat with apps that try to access network location provider
muhomorr Jun 19, 2023
068812e
add RemoteKeyProvisioning server override setting
muhomorr Aug 10, 2023
0b02296
support showing dexopt progress during boot
muhomorr Oct 3, 2023
73d44f4
don't skip AOT compilation of apps that weren't recently used
muhomorr Nov 14, 2022
b1df9f5
do not delete compiled code (OAT files) of hibernated apps
muhomorr Oct 11, 2023
9905199
disable OtaDexoptService
muhomorr Oct 23, 2023
ad8a7a0
add notification-based UI for the background dexopt job
muhomorr Oct 23, 2023
1fde86e
infrastructure for per-package dex2oat compiler filter overrides
muhomorr Oct 31, 2023
9b20baa
always use speed dex2oat compiler filter for VPN service packages
muhomorr Nov 1, 2023
8e90fe4
add helper class for launching non-standard Settings intents
muhomorr Nov 15, 2023
ca47e54
add helper class for notifications that link AppSwitch UI
muhomorr Nov 8, 2023
cbe01b6
infrastructure for passing extra args to Zygote and WebViewZygote
muhomorr Sep 23, 2023
20384ef
infrastructure for passing SELinux flags to the kernel
muhomorr Sep 24, 2023
9b7f12a
add per-app setting for hardened_malloc and extended VA space
muhomorr Sep 26, 2023
1b8ba7c
always stop app zygotes when app is being force-stopped
muhomorr Nov 8, 2023
9d88a00
add per-app native debugging setting
muhomorr Sep 26, 2023
b5947fc
add per-app dynamic code execution settings
muhomorr Sep 26, 2023
65f159f
add a test for the new per-app hardening features
muhomorr Sep 20, 2023
fcde5e4
add per-app memory tagging setting
muhomorr Nov 5, 2023
0836a3b
add system API for getting app info by PID
muhomorr Nov 8, 2023
b156973
infrastructure for handling callbacks from logd to system_server
muhomorr Nov 8, 2023
ab89577
infrastructure for showing notifications about SELinux TSEC_FLAG denials
muhomorr Nov 15, 2023
7227415
show notification after app is blocked from accessing ptrace
muhomorr Nov 19, 2023
2e7e975
fix rate limiting for non-app tombstones
muhomorr Nov 8, 2023
ce4d758
DropBoxManager: fix TreeSet API contract violations
muhomorr Dec 23, 2023
261077d
DropBox: skip spurious system_server_crash entries
muhomorr Jan 15, 2024
aed7cf2
DropBox: skip fsck.f2fs results that don't contain errors
muhomorr Jan 16, 2024
48bc3e5
notify the user about notable system journal entries
muhomorr Nov 8, 2023
67dc160
Widevine provisioning setting
maade93791 Sep 29, 2023
36ae27d
add a method for sending BOOT_COMPLETED broadcast to a specific package
muhomorr Dec 23, 2023
5ff3b9e
define READ_DEVICE_SERIAL_NUMBER permission for Build.getSerial() access
muhomorr Dec 18, 2023
8dc9ce9
aauto: define a restricted version of the MANAGE_USB permission
muhomorr Dec 18, 2023
e74e293
aauto: add definition of restricted BLUETOOTH_PRIVILEGED permission
muhomorr Dec 18, 2023
14d0e64
aauto: add definition of restricted WIFI_PRIVILEGED permission
muhomorr Dec 18, 2023
3c5e059
aauto: add definition of restricted READ_PRIVILEGED_PHONE_STATE permi…
muhomorr Dec 25, 2023
835fc97
adjust definition of TelecomManager.getUserSelectedOutgoingPhoneAccou…
muhomorr Dec 25, 2023
b9dabc9
aauto: support using aauto USB accessory activity as a default activity
muhomorr Dec 20, 2023
e583dd5
aauto: define ASSOCIATE_COMPANION_DEVICES_RESTRICTED permission
muhomorr Dec 18, 2023
2a758aa
aauto: support allowing association with "automotive projection" devices
muhomorr Dec 18, 2023
f430d3c
aauto: support granting privileged permissions via PackageHooks
muhomorr Dec 18, 2023
da3168a
hide from Aurora Store packages that it's not allowed to update
muhomorr Jan 15, 2024
37c1e44
run full explicit GC in SystemUI and system_server after locking
thestinger Feb 2, 2024
808c30d
add UsbManager API for configuring USB port security state
muhomorr Feb 23, 2024
e0b70ed
add setting for USB port security state
muhomorr Feb 23, 2024
949eca2
Do not use filter calling uid parameter originally intended for insta…
quh4gko8 Nov 3, 2023
aedd4f2
Disallow the camera shortcut toggle from the lockscreen
neelchauhan May 28, 2024
66c943c
disable support for adoptable storage
muhomorr May 29, 2024
79d7f18
add a helper class for wiping eUICCs
muhomorr May 29, 2024
bcc248c
add duress password feature
muhomorr May 29, 2024
18f2c0e
add lock_settings shell commands for testing the duress password feature
muhomorr May 30, 2024
1054033
add a test for the duress password feature
muhomorr May 29, 2024
2db3816
extend the upstream wipe-without-reboot implementation
muhomorr Jun 1, 2024
bdbe774
add lock_settings shell command option for printing executed Weaver ops
muhomorr Jun 1, 2024
0612aa4
duress password test: check that Weaver is wiped as part of duress wipe
muhomorr Jun 1, 2024
573ee15
gmscompat: adjust to DynamiteLoader changes in GmsCore 24.22
muhomorr Jun 5, 2024
957fc65
change default UsbPortSecurity mode to CHARGING_ONLY_WHEN_LOCKED
muhomorr Jun 6, 2024
6bddf9b
temp: unconditionally enable system crash notifications
muhomorr Jun 3, 2024
c72f082
gmscompat: move enableNfc() to GmsModuleHooks
muhomorr Jun 11, 2024
7909ee2
Revert "SystemUI: have NfcTile get an NfcAdapter directly"
muhomorr Jun 11, 2024
8ef371a
update lint baseline
muhomorr Jun 11, 2024
1abba66
temp: disable boot-time dexopt progress UI
muhomorr Jun 12, 2024
5ee2b8e
Revert "temp: unconditionally enable system crash notifications"
thestinger Jun 13, 2024
78f2f45
EuiccWipe: add missing null check for UiccSlotInfo
muhomorr Jun 13, 2024
91b6248
fixup! extend the upstream wipe-without-reboot implementation
muhomorr Jun 13, 2024
9b1ace8
DuressPasswordTest: remove device wipe from test preparation
muhomorr Jun 13, 2024
10da234
DuressPasswordTest: adjust to changed representation of WeaverRead.to…
muhomorr Jun 13, 2024
97847a3
DuressPasswordTest: fix test failure when device screen is initially …
muhomorr Jun 13, 2024
b5e02f0
fix ApplicationInfo flag initialization being skipped in some cases
muhomorr Jun 13, 2024
ec759f0
Revert "temp: disable boot-time dexopt progress UI"
muhomorr Jun 13, 2024
8d5e16e
fix crash of boot-time info dialog due to delayed font init
muhomorr Jun 13, 2024
6f02d53
fixup! add option to scramble PIN layout
muhomorr Jun 13, 2024
964f3d2
Revert "Remove SystemUIDialog subclass from InternetDialog"
muhomorr Jun 13, 2024
f8371fe
Revert "[CDM][1/2] Modulize files"
muhomorr Jun 14, 2024
a6472db
Revert "Move association revoke logic to AssociationRevokeProcessor"
muhomorr Jun 14, 2024
9010efc
fixup! add setting for USB port security state
muhomorr Jun 18, 2024
b84df71
add status callback to USB port security state API
muhomorr Jun 20, 2024
01cd5e2
fixup! add setting for USB port security state
muhomorr Jun 20, 2024
197e351
bugfix: Use cast checking first before casting to PackageExt
quh4gko8 Jun 20, 2024
e62598d
move auto-reboot callback listener from SystemUI to system_server
muhomorr Jun 20, 2024
e38d2c1
don't toggle USB-C port after first unlock if it was connected BFU
muhomorr Jun 20, 2024
3a20a3e
fixup! add setting for USB port security state
muhomorr Jun 20, 2024
de3e77a
Support for getting the calling app's permission state for activities
quh4gko8 Apr 25, 2024
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 @@ -248,6 +248,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.client.ClientPriorityManager;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Collections;
Expand Down Expand Up @@ -618,6 +621,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()) {
ClientPriorityManager.raiseToForeground(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 @@ -2381,14 +2381,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 @@ -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 @@ -35,6 +35,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 @@ -2384,6 +2385,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
2 changes: 1 addition & 1 deletion cmds/hid/jni/com_android_commands_hid_Device.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -368,7 +368,7 @@ static void closeDevice(JNIEnv* /* env */, jclass /* clazz */, jlong ptr) {
}
}

static JNINativeMethod sMethods[] = {
static const JNINativeMethod sMethods[] = {
{"nativeOpenDevice",
"(Ljava/lang/String;IIII[B"
"Lcom/android/commands/hid/Device$DeviceCallback;)J",
Expand Down
2 changes: 1 addition & 1 deletion cmds/uinput/jni/com_android_commands_uinput_Device.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ static jint getEvdevInputPropByLabel(JNIEnv* env, jclass /* clazz */, jstring ra
return InputEventLookup::getLinuxEvdevInputPropByLabel(label.c_str()).value_or(-1);
}

static JNINativeMethod sMethods[] = {
static const JNINativeMethod sMethods[] = {
{"nativeOpenUinputDevice",
"(Ljava/lang/String;IIIIIILjava/lang/String;"
"Lcom/android/commands/uinput/Device$DeviceCallback;)J",
Expand Down
5 changes: 4 additions & 1 deletion core/api/current.txt
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,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 @@ -345,7 +346,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 @@ -43266,7 +43269,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
7 changes: 6 additions & 1 deletion core/api/lint-baseline.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1109,6 +1109,12 @@ Todo: android.provider.ContactsContract.RawContacts#newEntityIterator(android.da
Documentation mentions 'TODO'


UnflaggedApi: android.Manifest.permission#OTHER_SENSORS:
New API must be flagged with @FlaggedApi: field android.Manifest.permission.OTHER_SENSORS
UnflaggedApi: android.Manifest.permission_group#NETWORK:
New API must be flagged with @FlaggedApi: field android.Manifest.permission_group.NETWORK
UnflaggedApi: android.Manifest.permission_group#OTHER_SENSORS:
New API must be flagged with @FlaggedApi: field android.Manifest.permission_group.OTHER_SENSORS
UnflaggedApi: android.R.color#on_surface_disabled_material:
New API must be flagged with @FlaggedApi: field android.R.color.on_surface_disabled_material
UnflaggedApi: android.R.color#outline_disabled_material:
Expand Down Expand Up @@ -1461,7 +1467,6 @@ UnflaggedApi: android.graphics.text.PositionedGlyphs#getItalicOverride(int):
New API must be flagged with @FlaggedApi: method android.graphics.text.PositionedGlyphs.getItalicOverride(int)
UnflaggedApi: android.graphics.text.PositionedGlyphs#getWeightOverride(int):
New API must be flagged with @FlaggedApi: method android.graphics.text.PositionedGlyphs.getWeightOverride(int)

UnflaggedApi: android.hardware.camera2.ExtensionCaptureRequest:
New API must be flagged with @FlaggedApi: class android.hardware.camera2.ExtensionCaptureRequest
UnflaggedApi: android.hardware.camera2.ExtensionCaptureRequest#ExtensionCaptureRequest():
Expand Down
44 changes: 44 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 @@ -140,6 +154,31 @@ 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);
field public static final int WV_GRAPHENEOS_PROXY = 0; // 0x0
field public static final int WV_STANDARD_SERVER = 1; // 0x1
}

}

package android.hardware.usb {

public class UsbManager {
Expand Down Expand Up @@ -456,6 +495,11 @@ package android.os {
field public static final long TRACE_TAG_NETWORK = 2097152L; // 0x200000L
}

public final class UserHandle implements android.os.Parcelable {
method public static int getUid(int, int);
method public static int getUserId(int);
}

}

package android.os.storage {
Expand Down
Loading