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

Increase amount of lockscreen shortcuts to 2 #441

Draft
wants to merge 246 commits into
base: 14
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
246 commits
Select commit Hold shift + click to select a range
11dd686
aapt2: add stringified resource configuration to Configuration.proto
muhomorr Aug 28, 2023
0237342
whitelist CAPTURE_AUDIO_OUTPUT for Dialer
thestinger Apr 3, 2023
21420dc
AlertWindowNotification: Correctly load app label
hustler-not-chatty Nov 2, 2022
06f81ee
toast: fix bg color not changing with theme change
SuperDroidBond Sep 11, 2022
6aac2b2
IllustrationPreference: Hide illustration when we fail to play anim
luk1337 Jun 9, 2022
8875d88
Add app.grapheneos.apps to vendor_required_apps_managed_*
girlbossceo Dec 16, 2022
f923a6b
bugfix: automatic notification permission request breaks in some cases
muhomorr Aug 22, 2022
c196d72
fix DevicePolicyManager#logoutUser() never succeeding
muhomorr Aug 18, 2022
3ac62aa
Revert "Null safe package name in AppOps writeState"
muhomorr Jan 6, 2023
8c34e53
appops: skip ops for invalid null package during state serialization
muhomorr Jan 6, 2023
fe4ba86
bugfix: lite APK parser didn't parse targetSdkVersion in some cases
muhomorr Dec 30, 2022
0000f96
mark UserHandle#get{Uid, UserId} as module SystemApi
muhomorr Aug 17, 2022
88f6057
add getContext() method to ContentResolver
muhomorr Feb 18, 2023
1b6c82f
add LongArray.addAll(long[]) method
muhomorr May 16, 2023
8189fb6
add BaseBundle.get{Boolean2,Number}() methods
muhomorr May 16, 2023
12c9bab
don't leak device-wide package list to apps when work profile is present
muhomorr Nov 5, 2022
caf9d23
don't skip AOT compilation of apps that weren't recently used
muhomorr Nov 14, 2022
a9ecddf
always auto-grant permissions that have "normal" protectionLevel
muhomorr Dec 3, 2022
5556202
switch to providing WebView via Vanadium
inthewaves Oct 6, 2020
3f222cd
add missing display cutout overlays
thestinger Oct 26, 2021
91c9d20
fully disallow installing instant apps
muhomorr Jan 20, 2023
dc60ef4
enable boot/bootloader/radio version checks
thestinger Jun 15, 2017
f3f353b
always set deprecated Build.SERIAL to UNKNOWN
thestinger Sep 7, 2017
58934a0
Display UART notification on user builds
flawedworld Jul 16, 2021
8092f23
core/config: [temporary] don't report statementservice crashes
thestinger Oct 20, 2021
3d5aaed
core/config: Set config_clockFontFamily to empty string
luk1337 Dec 9, 2022
fc0a846
core/config: enable doze and app standby
thestinger Oct 16, 2016
4d3304e
core/config: enable gesture navigation by default
thestinger Nov 28, 2018
ce233ec
core/config: enable multi user UI
thestinger Nov 28, 2018
3cb299f
core/config: revert to pre-12 power button behavior
thestinger Oct 9, 2021
fd7e1b8
core/config: raise maximum users to 32
thestinger Nov 28, 2018
a19366c
core/config: disable long press on power assistant setting
thestinger Oct 17, 2021
57bc7ab
core/config: disable safe volume everywhere, not just the US
rustybird Apr 22, 2020
b7a85a9
core/config: disable using telephony-based auto time
thestinger Feb 22, 2023
c904e35
core/config: use Cloudflare DNS as the default fallback
thestinger Apr 2, 2018
72f5101
core/config: set GrapheneOS launcher as notification listener
thestinger Mar 16, 2021
4f5a8b5
core/config: use round adaptive icon mask and parse round icons
thestinger Mar 10, 2018
29f6736
core/config: decrease minimum color temperature for Night Light to 686K
thestinger Aug 26, 2022
f27e5ef
core/config: add camera app QrTile activity as default
empratyush Oct 29, 2022
a1d8b08
SettingsLib: use Cloudflare DNS servers as hints
thestinger Apr 2, 2018
441706e
SettingsLib: support replacing drawable in SelectorWithWidgetPreference
muhomorr May 16, 2023
724d83c
SettingsLib: allow Permission APEX to use ActionButtons and MainSwitch
muhomorr Jul 2, 2022
be1e7f6
SettingsProvider: disable bluetooth by default
thestinger Dec 4, 2018
5b267bd
SettingsProvider: enable backup support via seedvault
thestinger Oct 15, 2021
a004c57
SettingsProvider: set TEXT_SHOW_PASSWORD to false by default
thestinger Feb 3, 2017
ec5480f
SettingsProvider: Enable screen auto brightness by default
girlbossceo Jan 6, 2023
66de835
SettingsProvider: hide sensitive information while locked by default
thestinger Jan 2, 2017
b54cf07
SettingsProvider: Migration for legacy fingerprint keyguard toggle
flawedworld Oct 18, 2021
7a0c412
SettingsProvider: add a helper class for migrating Global,Secure values
muhomorr May 24, 2023
c973f40
SettingsProviderHooks: Infrastructure for hooking settings state init
quh4gko8 Jun 29, 2023
37d321d
Disable "Add users when locked" settings on every boot
quh4gko8 Jul 1, 2023
a30af01
Disable instant apps feature on every boot
quh4gko8 Jul 1, 2023
e2594ec
CarrierConfig: Always show APN settings on CDMA carriers
flawedworld Sep 28, 2021
cee6091
CarrierConfig: Do not mark dun APN types as read only
flawedworld Feb 9, 2022
a74415c
CarrierConfig: Always show ICCID
flawedworld Mar 5, 2022
dfc8fee
CarrierConfig: allow toggling VoWiFi while roaming by default
girlbossceo Mar 24, 2023
bc2ca98
enable secondary user logout support by default
flawedworld Oct 15, 2021
3cfccfa
enable backup service for non-owner users
empratyush May 2, 2021
1ad9a45
increase default max password length to 64
thestinger Jun 29, 2017
2c3927a
GrapheneOS boot logo mask
thestinger May 11, 2019
0177927
use black wallpaper by default
thestinger Mar 7, 2022
d6332ca
stop auto-granting location to system browsers
thestinger Mar 17, 2019
77e9841
appop: Save discrete app op history for more permissions
kdrag0n Oct 11, 2021
71d9ef2
add check for empty TTS engine name
thestinger Dec 20, 2020
f96fdb8
Add a config to state whether a device supports increased touch sensi…
lzlrd Jun 30, 2021
a26f9e5
stop enforcing camera sound for certain carriers
thestinger Feb 11, 2022
dace412
colors: Switch to GrapheneOS blue color palette for Material You
kdrag0n Mar 7, 2022
5964e33
improve PendingIntent security check compatibility
thestinger Mar 18, 2022
fd7a59a
Show USB icon in notification instead of generic system icon
kdrag0n Oct 6, 2020
3ee2233
Sharesheet: Display two rows of max ranked targets
luk1337 Oct 28, 2020
dfc3566
add a class for validating package against its valid signatures
muhomorr Mar 30, 2023
df52440
a set of helper classes for defining system settings
muhomorr Feb 12, 2023
2609e2c
add exec spawning sysprop to ExtSettings
muhomorr May 24, 2023
094af9c
add exec-based spawning support
thestinger Mar 14, 2015
58575d3
disable exec spawning when using debugging options
thestinger May 22, 2019
6ede632
add parameter for avoiding full preload with exec
thestinger May 14, 2019
dea9f66
pass through fullPreload to libcore
thestinger Sep 11, 2019
14a7f3e
disable OpenGL preloading for exec spawning
thestinger May 14, 2019
d57a667
Revert "disable OpenGL preloading for exec spawning"
thestinger Oct 16, 2021
53f7d00
disable resource preloading for exec spawning
thestinger May 14, 2019
e214f5e
disable class preloading for exec spawning
thestinger May 14, 2019
85ab3db
disable WebView reservation for exec spawning
thestinger May 14, 2019
555a936
disable JCA provider warm up for exec spawning
thestinger May 14, 2019
1367eba
disable preloading classloaders for exec spawning
thestinger Sep 11, 2019
2c0a973
disable preloading HALs for exec spawning
thestinger Sep 11, 2019
86ca656
pass through runtime flags for exec spawning and implement them in th…
randomhydrosol Oct 30, 2020
8b5ae3c
exec spawning: don't close the binder connection when the app crashes
muhomorr Aug 8, 2022
d8b5914
add a wrapper for execveat(2)
muhomorr Aug 14, 2022
1bc6af9
zygote: define new runtime flags that relax app hardening
muhomorr Aug 14, 2022
1f5ea6d
exec spawning: support runtime resource overlays
muhomorr Mar 30, 2023
c66936c
imprecise authenticated timestamps using https
renlord Nov 14, 2019
ea7241a
disable auto time refresh when auto time is off
renlord Jun 30, 2020
e3ef11f
reduce time update threshold
thestinger Feb 22, 2023
9d4eb73
reduce system clock drift warning
thestinger Feb 22, 2023
29f1746
add system package check methods to PackageUtils
muhomorr Jun 22, 2023
3ed32cc
filter out non-system packages from location indicator exemptions
muhomorr Jun 22, 2023
4e27b6c
filter out non-system packages from getLocationBypassPackages() result
muhomorr Jun 22, 2023
432af2d
SystemUI: enable NFC quick settings tile
thestinger Mar 17, 2019
9c03180
SystemUI: Enable production-ready feature flags
kdrag0n Mar 14, 2022
7f8c82c
SystemUI: Require unlocking to use sensitive QS tiles
kdrag0n Oct 6, 2021
d78b90b
SystemUI: Remove nav bar background in QS customizer
kdrag0n Oct 12, 2021
d444c2f
SystemUI: Use new privacy indicators for location
kdrag0n Oct 11, 2021
1467eb1
SystemUI: fully enable location indicators by default
thestinger Aug 17, 2022
b5abe63
SystemUI: specify config_sceenshotWorkProfileFilesApp
muhomorr Jun 18, 2023
dba8c6e
SystemUI: improve media projection dialog wording
muhomorr Jan 22, 2023
d8eb33a
SystemUI: add Battery share & Battery share quick tiles
empratyush Jun 21, 2022
350a632
SystemUI: change default quick tiles and quick tile order
thestinger Oct 19, 2021
7d95631
SystemUI: make screenshot sound use touch sounds setting
girlbossceo Mar 19, 2023
0630381
SystemUI: have NfcTile get an NfcAdapter directly
inthewaves Sep 20, 2020
4825d64
SystemUI: apply "Add users from lock screen" setting to guest users
muhomorr Jun 23, 2023
2cf8d31
Add config to exempt telephony-related app from location indicators
kdrag0n Feb 17, 2022
3c512c8
exempt some system packages from status bar privacy indicator
thestinger Apr 17, 2022
6c8dfd5
PackageInstaller: link "App info" screen from the uninstallation dialog
muhomorr Apr 17, 2022
c42b052
PackageInstaller: make sure install confirmation returns a result
muhomorr Jun 2, 2022
fdfc778
Revert "Remove dependency on IME subtype from TSMS"
mikeNG Dec 27, 2021
7d52000
add helpers for system_server extensions
muhomorr Jul 31, 2022
87c8a5c
Warn the user if they are using a prototype Pixel device
flawedworld Jun 15, 2022
cf7ba70
Support forwarding notifications from other users
girlbossceo Mar 19, 2022
03e808d
DeviceIdleJobsController: don't ignore whitelisted system apps
muhomorr Jul 7, 2022
9bedce3
do not allow disabling app visibility filtering
muhomorr Apr 6, 2023
7f9f2e4
add hooks for modifying PackageManagerService behavior
muhomorr Mar 27, 2023
cadff14
add hooks for modifying ActivityThread behavior
muhomorr Aug 18, 2023
262142b
AppBindArgs: infrastructure for passing extra args to app process init
muhomorr May 16, 2023
27c5565
infrastructure for spoofing self permission checks
muhomorr Jul 31, 2022
20f0abd
infrastructure for special runtime permissions
muhomorr Feb 9, 2023
f3a20e4
add special runtime permission for other sensors
muhomorr Feb 9, 2023
d717a33
notify the user when sensors access is denied by OTHER_SENSORS perm
muhomorr Oct 4, 2022
5d9b72c
make INTERNET into a special runtime permission
thestinger Mar 17, 2019
ba838a9
improve compatibility of INTERNET special runtime permission
muhomorr Jul 31, 2022
79dc108
don't run jobs that need connectivity in apps that lack INTERNET perm
muhomorr May 19, 2023
4a6a792
PackageInstallerUI: an option to skip auto-grant of INTERNET permission
muhomorr Oct 7, 2022
f8353f1
use permanent fingerprint lockout immediately
thestinger Sep 12, 2017
f6a86cf
add system property for disabling keyguard camera
thestinger Jul 25, 2017
5279d04
automatically reboot device after timeout if set
randomhydrosol Oct 17, 2021
874a7bd
Default to automatically rebooting device after 72 hours
flawedworld Mar 29, 2023
2003318
gosps: support for per-app GrapheneOS-specific persistent state
muhomorr Jul 31, 2022
16ff759
exec spawning: add an option to relax app hardening
muhomorr Aug 14, 2022
0a86c0e
infrastructure for the Storage Scopes feature
muhomorr Jul 31, 2022
0c5c8e2
control access to Android/obb directory with a GosPackageState flag
muhomorr Jul 31, 2022
a460c6a
add an option to show the details of an application error to the user
muhomorr Aug 8, 2022
c691cf7
Set always-on and lockdown on by default on first vpn connection at s…
quh4gko8 Aug 1, 2022
a1b6ef9
pre-grant POST_NOTIFICATIONS to more system apps
muhomorr Aug 22, 2022
6d47f14
SystemUI: under-display fingerprint scanner support
muhomorr Dec 6, 2022
b5cb0a0
allow privileged installer to search for packages across all users
muhomorr Nov 23, 2022
40776b9
extend original-package renaming to provider authorities for Vanadium
muhomorr Nov 5, 2022
7d7c9d0
extend original-package renaming to static launcher shortcuts
muhomorr Nov 23, 2022
162d13b
disable package parser cache
muhomorr Jan 30, 2023
d8a2fdf
perform additional boot-time checks on system package updates
muhomorr Jan 31, 2023
bc136c6
allow out-of-band package updates to use original-package system
muhomorr Jan 27, 2023
d19e4ad
require fs-verity when installing system package updates
muhomorr Jan 31, 2023
920cd79
don't allow updating system packages to the same versionCode
muhomorr Dec 27, 2022
3a9ab3e
Remove build fingerprint from screenshot EXIF
girlbossceo Apr 29, 2022
229b13e
add toggle for screenshot timestamp EXIF metadata
girlbossceo Feb 18, 2023
c2ecc46
SUPL: Don't send IMSI / Phone number to SUPL server
MSe1969 Oct 29, 2018
43c9e7f
add GNSS SUPL setting
muhomorr Mar 3, 2023
0642234
allow privileged installers to maintain a global list of busy packages
muhomorr Mar 4, 2023
1fceb42
add option to scramble PIN layout
muhomorr Feb 24, 2023
e377908
enable LOCK_PIN_ENHANCED_PRIVACY setting by default
muhomorr Jun 14, 2023
1e12f05
don't crash apps that depend on missing Gservices provider
muhomorr Mar 26, 2023
30c023c
integrate Google's EuiccSupportPixel package
muhomorr Mar 27, 2023
a88dc57
gmscompat: add compatibility layer for unprivileged GMS
thestinger Jun 6, 2023
40a05f6
integrate Google's eUICC LPA app
muhomorr May 30, 2023
56d1df6
do not auto-grant Camera permission to the eUICC LPA UI app
muhomorr Mar 19, 2023
5faa90b
attestation key provisioning server setting
girlbossceo Apr 3, 2023
a301176
require vendor camera extensions package to be a system app by default
muhomorr Mar 30, 2023
3253e99
allow "Pixel Camera Services" app to provide vendor camera extensions
muhomorr Mar 30, 2023
124fd5c
infrastructure for creating per-package seinfo overrides
muhomorr Mar 30, 2023
bf070ae
support denying special access to hardware accelerators by Google apps
muhomorr Apr 6, 2023
39854df
always preserve package enabled setting after package update
muhomorr Feb 13, 2023
1833064
add GNSS PSDS setting
muhomorr May 2, 2023
99b7671
support redirecting ContentProvider calls to another provider
muhomorr May 16, 2023
8158630
infrastructure for the Contact Scopes feature
muhomorr May 16, 2023
14f5c42
add connectivity checks setting and its migration from Settings.Global
muhomorr May 25, 2023
1ea84c7
Wi-Fi auto turn off
muhomorr Jul 31, 2022
b55be8e
Bluetooth auto turn off
muhomorr Jul 31, 2022
3f0fb2a
implement dynamic deny_new_usb toggle mode
thestinger Jun 16, 2016
36852b6
add native debugging (ptrace) sysprop to ExtSettings
muhomorr May 24, 2023
336973f
add support for hooking LocationManager methods
muhomorr Jun 19, 2023
4c1e2f0
improve compat with apps that try to access network location provider
muhomorr Jun 19, 2023
8fe9365
gmscompat: hide preinstalled Google eUICC LPA package from Play Store
muhomorr Sep 1, 2023
01b1c08
ErrorDialogController: do not auto-dismiss crash dialogs
muhomorr Oct 1, 2023
afacf09
ErrorReport UI: improve readability of native crash reports
muhomorr Oct 1, 2023
31982e2
Revert "attestation key provisioning server setting"
muhomorr Aug 10, 2023
6af2e8c
add RemoteKeyProvisioning server override setting
muhomorr Aug 10, 2023
a350b31
gmscompat: adjustments for 14
muhomorr Aug 20, 2023
868b837
sscopes: 14
muhomorr Aug 10, 2023
1e7d444
temp: opt-out of using "SPA" rewrites of some Settings app screens
muhomorr Aug 21, 2023
b9d6471
bugfix: dynamic pregrants of special perms were skipped
muhomorr Oct 5, 2023
20bbb59
sscopes: temp: disable incomplete handling of READ_MEDIA_VISUAL_USER_…
muhomorr Oct 5, 2023
70d271c
gmscompat: adjust to background activity launch rules in 14
muhomorr Oct 5, 2023
d0da3e7
Revert "Revert "Remove dependency on IME subtype from TSMS""
muhomorr Oct 6, 2023
15d5130
fixup! imprecise authenticated timestamps using https
muhomorr Oct 6, 2023
291d76f
gmscompat: further adjust UserManager shim for 14
muhomorr Oct 6, 2023
dbabff3
[rwc] added reverse wireless charging
empratyush Oct 7, 2023
69505d3
[rwc] replace battery share implementation
empratyush Oct 7, 2023
c12d0a3
PackageSpec: add an extra utility method
muhomorr Oct 7, 2023
828f0bd
support specifying per-package hardening configs
muhomorr Oct 7, 2023
b217d8e
disable hardened_malloc in Google Camera
muhomorr Oct 7, 2023
1af6783
temp: add a workaround for SystemServerExt late-initialization bug
muhomorr Oct 7, 2023
0cabc97
support showing dexopt progress during boot
muhomorr Oct 3, 2023
3ca5a39
restore Android 13 "pause work profile" behavior
muhomorr Oct 8, 2023
fd35155
gmscompat: adjust TelephonyManager shim for 14
muhomorr Oct 8, 2023
d91d4c3
adjust "Optimizing apps" string
muhomorr Oct 8, 2023
3311a5c
temp: unsuspend work profile when resuming it
muhomorr Oct 9, 2023
463bc3d
constify JNINativeMethod tables
muhomorr Oct 9, 2023
7a7a00c
fixup! restore Android 13 "pause work profile" behavior
muhomorr Oct 9, 2023
a02261e
Unhide GmsCompat#isGmsapp(ApplicationInfo) overload
quh4gko8 Oct 9, 2023
890c84f
Allow customizing lock screen shortcuts via ThemePicker
quh4gko8 Oct 10, 2023
1f530b7
bugfix: Prevent crashes when setting restrictions for guest users
quh4gko8 Oct 10, 2023
d106d63
fixup! Bluetooth auto turn off
muhomorr Oct 11, 2023
f8fe4cd
fixup! Wi-Fi auto turn off
muhomorr Oct 11, 2023
f235d21
fixup! add helpers for system_server extensions
muhomorr Oct 11, 2023
2cd1778
fixup! integrate Google's eUICC LPA app
muhomorr Oct 11, 2023
6975b8a
remove no longer used Context.registerReceiver() wrapper
muhomorr Oct 11, 2023
1062229
gmscompat: enable DynamiteLoader v2
muhomorr Oct 11, 2023
2a15950
PackageSpec: make validator into an interface
muhomorr Oct 11, 2023
8a390df
fix getHardeningConfig() for packages missing from the primary user
muhomorr Oct 11, 2023
7e25dcb
do not delete compiled code (OAT files) of hibernated apps
muhomorr Oct 11, 2023
ad5b7ad
gmscompat: fix crash in TelephonyManager.requestCellInfoUpdate()
muhomorr Oct 11, 2023
c3c0e9a
Revert "gmscompat: fix crash in TelephonyManager.requestCellInfoUpdat…
muhomorr Oct 13, 2023
f5744e0
exempt telephony service from the new package visibility restrictions
muhomorr Oct 13, 2023
16d481a
gmscompat: expand background activity launch shim to all core GMS apps
muhomorr Oct 13, 2023
5c20bdf
extend network time refresh toggle
thestinger Oct 15, 2023
c929fc2
bugfix: Fix inconsistent check when installing from known source
quh4gko8 Oct 16, 2023
9e050a3
bugfix: PIN input layout scrambling didn't apply to SIM PIN
muhomorr Oct 18, 2023
b0b54fc
allow system apps to make sticky notifications
thestinger Oct 21, 2023
50b9769
add a helper class for using BroadcastReceiver as a PendingIntent target
muhomorr Oct 23, 2023
dfad479
SseUtils: add a method for adding Notification.Action
muhomorr Oct 23, 2023
db96175
MissingSpecialPermNotif: remove dependency on SystemServerExt singleton
muhomorr Oct 23, 2023
58dea00
SseUtils: remove dependency on SystemServerExt singleton
muhomorr Oct 23, 2023
170d8ed
remove now-unused PendingActionReceiver
muhomorr Oct 23, 2023
738921a
Revert "temp: add a workaround for SystemServerExt late-initializatio…
muhomorr Oct 23, 2023
56115ec
remove error-prone SystemServerExt.get() method
muhomorr Oct 23, 2023
a26024e
change system_server label from "Android System" to "GrapheneOS"
muhomorr Oct 23, 2023
2d6495b
disable OtaDexoptService
muhomorr Oct 23, 2023
8628644
add notification-based UI for the background dexopt job
muhomorr Oct 23, 2023
100febc
bugfix: Properly set originating app to request for install permission
quh4gko8 Oct 26, 2023
0295fda
don't skip showing first app crash dialog
muhomorr Oct 24, 2023
89c6a4d
set memory tagging level to ASYNC for all system apps
muhomorr Oct 28, 2023
67c2a79
set memory tagging level to ASYNC for apps without native code
muhomorr Oct 28, 2023
1cb364c
Dexopt UI: don't prompt to restart apps if only non-base APK changed
muhomorr Oct 30, 2023
49b1ea8
Dexopt UI: skip progress updates for the first 15 seconds of job run
muhomorr Oct 30, 2023
eab9866
infrastructure for per-package dex2oat compiler filter overrides
muhomorr Oct 31, 2023
b539147
always use speed dex2oat compiler filter for VPN service packages
muhomorr Nov 1, 2023
49dc985
Revert "don't skip showing first app crash dialog"
muhomorr Nov 3, 2023
719bf78
Increase amount of lockscreen shortcuts to 2
flawedworld Nov 6, 2023
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
  •  
  •  
  •  
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,14 @@ 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;
}

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 @@ -609,6 +612,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 @@ -73,7 +73,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 @@ -2294,14 +2294,14 @@ public boolean isAppOnWhitelist(int appid) {
}

/**
* 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 @@ -2257,6 +2257,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) !=
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 @@ -307,7 +307,7 @@ static void setAbsInfo(JNIEnv* env, jclass /* clazz */, jint handle, jint axisCo
::ioctl(static_cast<int>(handle), UI_ABS_SETUP, &absSetup);
}

static JNINativeMethod sMethods[] = {
static const JNINativeMethod sMethods[] = {
{"nativeOpenUinputDevice",
"(Ljava/lang/String;IIIIILjava/lang/String;"
"Lcom/android/commands/uinput/Device$DeviceCallback;)J",
Expand Down
3 changes: 3 additions & 0 deletions core/api/current.txt
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,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 @@ -329,7 +330,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
37 changes: 37 additions & 0 deletions core/api/module-lib-current.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,19 @@ 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 public static void enableBluetoothAdapter();
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 @@ -128,6 +141,25 @@ 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
}

}

package android.hardware.usb {

public class UsbManager {
Expand Down Expand Up @@ -450,6 +482,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