summaryrefslogtreecommitdiff
path: root/apex
AgeCommit message (Collapse)Author
2 daysJobSchedulerService:fix arrayIndexOutOfBoundsException to aviodlijilou
systemServer crash. As can be seen from the AOSP code, the set collection mTrackedTasks is accessed under mLock, but there is no mLock lock in the reportNewIdleState function. Therefore, we should put onControllerStateChanged into the mLock lock for execution, just like all other Controllers calling this method with mLock, there is no risk of deadlock. Test: OEM monkey test Bug: 342554438 Change-Id: I596defa8ca018a7161cd149a54a029f6adb96937
8 daysSynchronise dumpTempWhitelistSchedule in DeviceIdleController.javaAbhishek Gadewar
Bug: 339934804 Test: atest --iterations 5 android.alarmmanager.cts.ExactAlarmsTest#alarmClockGrantsWhitelist Change-Id: I1f032cb3e983ecf75e5607d9510a6f8ffee13607 Signed-off-by: Abhishek Gadewar <abhishekgadewar@meta.com>
2024-05-03RESTRICT AUTOMERGEOriol Prieto Gasco
Set the container field of aconfig flags Test: printflags --format='{package}:{container}:' | grep "::" Bug: 312769710 Flag: NONE Change-Id: I84fda0d5e9813940609436d825738ff786908ff0
2024-04-11Update test_mapping with the new network policy testsSuprabh Shukla
Network policy tests are moving to a new CTS module. Test: atest --test-mapping Bug: 322115994 Change-Id: Ia8c1aa6fd0ec3ded87735056c60b14a296d143f6
2024-04-05Add //visibility:any_system_partitionJeongik Cha
system image which is declared in Android.bp should include the module. Bug: 321000103 Test: m nothing Change-Id: I238c6459a6ff521796ef142c8e9d4e88d3293f44
2024-04-04Merge "Remove kwekua@google.com from ↵Julie Pan
apex/jobscheduler/framework/java/android/app/job/OWNERS" into main
2024-04-04Merge "Remove kwekua@google.com from ↵Julie Pan
apex/jobscheduler/service/java/com/android/server/tare/OWNERS" into main
2024-04-04Remove kwekua@google.com from apex/jobscheduler/OWNERSOwner Cleanup Bot
This suggested change is automatically generated based on group memberships and affiliations. If this change is unnecessary or in error, vote CR -1 and the bot will abandon it. Vote CR +1/2 to approve this change. See the owner's recent activity for context: https://android-review.googlesource.com/q/kwekua@google.com To report an issue, file a bug in the Infra>Codereview component. Change-Id: I0fcb68207b277e99a1a8e975c3c5580189071fdf
2024-04-04Remove kwekua@google.com from ↵Owner Cleanup Bot
apex/jobscheduler/service/java/com/android/server/tare/OWNERS This suggested change is automatically generated based on group memberships and affiliations. If this change is unnecessary or in error, vote CR -1 and the bot will abandon it. Vote CR +1/2 to approve this change. See the owner's recent activity for context: https://android-review.googlesource.com/q/kwekua@google.com To report an issue, file a bug in the Infra>Codereview component. Change-Id: I3940b55de2755efea9612876daff0b10d6d288ce
2024-04-04Remove kwekua@google.com from ↵Owner Cleanup Bot
apex/jobscheduler/framework/java/android/app/job/OWNERS This suggested change is automatically generated based on group memberships and affiliations. If this change is unnecessary or in error, vote CR -1 and the bot will abandon it. Vote CR +1/2 to approve this change. See the owner's recent activity for context: https://android-review.googlesource.com/q/kwekua@google.com To report an issue, file a bug in the Infra>Codereview component. Change-Id: Iff3c5eac5f164be0ee32b6167de2551d6540e759
2024-03-12Merge "Add android annotation dependency for @RequiresApi in generated ↵Muhammad Qureshi
code." into main
2024-03-09Enable use of error prone annotationsShai Barack
This is required for ag/26422309 Bug: 327646201 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:e16d9bea19cc092dbe92c1889e8ff4a0e8bf5fc5) Merged-In: I561d0af95619c70a30fc97e580d7ec8df9120a57 Change-Id: I561d0af95619c70a30fc97e580d7ec8df9120a57
2024-03-06Add android annotation dependency for @RequiresApi in generated code.Muhammad Qureshi
Bug: 328120273 Test: m Change-Id: I95b30fec99bcc4550757a256c58307864deb9c27
2023-12-13Merge "Update exception thrown for consistency." into mainVarun Shah
2023-12-12Update exception thrown for consistency.Varun Shah
The PackageManagerInternal APIs for checking if the app is in a stopped state or is quarantined throw an IllegalArgumentException when the package is not found - however, this was not documented anywhere. Instead, to be consistent with other PackageManager APIs, start throwing a NameNotFoundException from the internal APIs and ensure the new exception is caught from the public APIs and rethrown as IllegalArgumentException. This change updates the documentation as well, fixes a typo in a method name, and also updates the logging level for when these exceptions occur. Bug: 314863695 Test: builds/flashes/boots (mostly documentation changes) Change-Id: Ia7b30ce4e16b5e40bd767cd15dbf2cd2728567dd
2023-12-08Merge "Reduce handler message spam." into mainKweku Adams
2023-12-08Merge "Limit execution extension to important jobs." into mainKweku Adams
2023-12-08Reduce handler message spam.Kweku Adams
Skip posting a message to the handler for events that aren't going to be processed. Bug: 141645789 Bug: 273758274 Test: atest FrameworksMockingServicesTests:QuotaControllerTest Change-Id: I9ed4da14aa33e66340f6573ad7f15763458ec5a9
2023-12-08Limit execution extension to important jobs.Kweku Adams
Limit the timeout execution extension for apps in privileged states to only the jobs that are marked as important. Bug: 284512488 Bug: 299329948 Bug: 299346198 Test: atest FrameworksMockingServicesTests:QuotaControllerTest Change-Id: Ie6d17f091ae18cd8ff402886ca7d9a9be3c56f07
2023-12-08Catch exception when package is unknown.Varun Shah
Bug: 314863695 Test: builds/flashes/boots Test: atest BackgroundJobsControllerTest Change-Id: I2a46ba64e7764c4e95547c3a50c999d6132f1b87
2023-12-07Make applied flex constraints configurable.Kweku Adams
Make it possible to change which specific constraints are used in the flex scheduling behavior. Bug: 236261941 Bug: 299329948 Bug: 299346198 Test: atest CtsJobSchedulerTestCases:FlexibilityConstraintTest Test: atest frameworks/base/services/tests/mockingservicestests/src/com/android/server/job Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/job Change-Id: I55c143d9e4ec384bd4c687dbe9313a8e78a9a6f1
2023-12-07Remove incorrect assumption.Kweku Adams
The initial assumption was that PACKAGE_RESTARTED meant that the app would be put into the stopped state and be kept in the stopped state until the PACKAGE_UNSTOPPED broadcast was sent. However, there are cases where the PACKAGE_RESTARTED broadcast is sent but the app is not put and kept in the stopped state (eg. clearing app data). Change the logic to no longer assume that PACKAGE_RESTARTED means the app is put and kept in the stopped state. Bug: 315171674 Test: atest android.permissionui.cts.SafetyLabelChangesJobServiceTest#runNotificationJob_packageSourceUnspecified_updatesSafetyLabelHistoryForApps Test: atest FrameworksMockingServicesTests:BackgroundJobsControllerTest Change-Id: I23efa966b4963ca1777bdac58bbdad2f250c4984
2023-12-06Minor cleanup.Kweku Adams
1. Add @GuardedBy annotations to help errorprone. 2. Update copyright date to the year the file was created. Bug: 141645789 Test: N/A Change-Id: If743ddc51f5d3ad390b3085048b5a31badb635ce
2023-12-06Merge "Don't allow jobs of stopped apps to run." into mainKweku Adams
2023-12-05Add shell command to get aconfig flag values.Kweku Adams
Also include the flag value in the job dump. Bug: 314877619 Test: atest CtsJobSchedulerTestCases:JobInfoTest Change-Id: Idfb507de07354c97af1d39f6cc67b09fa891d5b9
2023-12-05Don't allow jobs of stopped apps to run.Kweku Adams
Jobs scheduled on behalf of another app (aka "source app") aren't dropped when the source app is force stopped. In this scenario, we don't want the job to run until the app comes out of the stopped state. Add explicit handling of this case to ensure we don't accidentally run these jobs and potentially give the app a way to get out of the stopped state in the background. Bug: 313794821 Test: atest FrameworksMockingServicesTests:BackgroundJobsControllerTest Test: atest CtsJobSchedulerTestCases:JobThrottlingTest Change-Id: I26a8efb0b04022a6ac9e9ad716940c8971fd57dd
2023-12-01Enforce minimum job time windows.Kweku Adams
Set a minimum difference between a job's latency and deadline to give the system time to optimize execution decisions. Bug: 311402873 Bug: 297106511 Bug: 299329948 Bug: 236261941 Test: atest CtsJobSchedulerSharedUidTestCases Test: atest CtsJobSchedulerTestCases Test: atest frameworks/base/services/tests/mockingservicestests/src/com/android/server/job Test: atset frameworks/base/services/tests/servicestests/src/com/android/server/job Change-Id: Ia6a7f1ddfdcef3fb7298543170b03ba679e0779c
2023-12-01Merge "Move some tracking starts out of constructor." into mainKweku Adams
2023-11-30Merge "Avoid doubly penalizing rescheduled periodic jobs for flex." into mainTreehugger Robot
2023-11-30Merge "Throw the SecurityException only on V+ builds." into mainKweku Adams
2023-11-30Merge "Update delivery group policy for TIME_CHANGED and TIMEZONE_CHANGED." ↵Sudheer Shanka
into main
2023-11-29Throw the SecurityException only on V+ builds.Kweku Adams
U builds shouldn't treat apps targeting V+ differently from apps targeting U. Make sure the target SDK gated exception is only thrown on V+ builds. Bug: 300477393 Test: atest CtsJobSchedulerTestCases:JobInfoTest Change-Id: I6d02e2d3d37f7dd06d63801da3352c357415e222
2023-11-29Update delivery group policy for TIME_CHANGED and TIMEZONE_CHANGED.Sudheer Shanka
Applying the DELIVERY_GROUP_POLICY_MOST_RECENT policy to TIME_CHANGED and TIMEZONE_CHANGED broadcasts so that the older broadcasts can be discarded when a new one comes in. Since they are already using the FLAG_RECEIVER_REPLACE_PENDING, it should be safe to apply this policy. Bug: 311288757 Test: atest CtsAlarmManagerTestCases Test: atest services/tests/mockingservicestests/src/com/android/server/alarm/AlarmManagerServiceTest.java Change-Id: Iada16830fa05d93e2a85c0a2d06ee31c0470cb4a
2023-11-29Avoid doubly penalizing rescheduled periodic jobs for flex.Kweku Adams
Periodic jobs that were completed successfully and rescheduled sometimes have adjusted start times to avoid running them back to back. When this happens, make sure the flex logic takes the adjustment into account and doesn't delay the constraint drops too significantly. Bug: 236261941 Test: atest FrameworksMockingServicesTests:FlexibilityControllerTest Change-Id: I039f86a409754089c7592719e0fd3355d6883cfb
2023-11-29Move some tracking starts out of constructor.Kweku Adams
Shift the tracking initiation of some controllers out of the constructor and do them asynchronously to reduce the amount of work done inside JobScheduler's constructor. Bug: 309292340 Test: atest CtsJobSchedulerTestCases:JobSchedulingTest Test: atest frameworks/base/services/tests/mockingservicestests/src/com/android/server/job Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/job Change-Id: I7812419d7434ecf3fcb917f8c8bdd270d00bdd75
2023-11-29Merge "Adjust idle timings." into mainKweku Adams
2023-11-28Adjust idle timings.Kweku Adams
1. Reduce the time to enter deep device idle from ~71 minutes to a few minutes. Based on user behavior, the system can be more confident than not that the user won't turn the screen on for a while after a few minutes of screen off time. 2. Shorten the time to enter light Doze and increase the max light idle time to 30 minutes and change the backoff system to get to 30 minutes more slowly. Bug: 187947479 Bug: 299329948 Test: atest DeviceIdleTest Test: atest FrameworksMockingServicesTests:DeviceIdleControllerTest Change-Id: Id4fb80d9def10d511759f6ae853ab6ce8909ca36
2023-11-28Merge "Allow users to set custom Doze settings." into mainKweku Adams
2023-11-21Merge "Fix AlarmManager high CPU issue" into main am: 4790920be1Dmitri Plotnikov
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2809355 Change-Id: I62c6dc82f52c0e7180a0793554d71e95c71d66db Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-21Merge "Fix AlarmManager high CPU issue" into mainDmitri Plotnikov
2023-11-20Allow users to set custom Doze settings.Kweku Adams
Partially undo I7fff451b641eee43a13e77df7b40db5b3af16d58. Allow users to customize Doze parameters as they used to be able to do before. Also pull out related logic into a tested helper class. Bug: 305056706 Test: atest CtsBatterySavingTestCases Test: atest frameworks/base/services/tests/mockingservicestests/src/com/android/server/tare Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/tare Test: atest FrameworksMockingServicesTests:DeviceIdleControllerTest Test: atest FrameworksServicesTests:BatterySaverPolicyTest Test: atest FrameworksServicesTests:UserSettingDeviceConfigMediatorTest Test: atest SettingsProviderTest:SettingsBackupTest Change-Id: Ieda9ee354b1dde01fed186f19e8ed957b2bbfe00
2023-11-20Merge "Properly set the NetworkRequest singleUid." into mainKweku Adams
2023-11-18Merge "Fix AlarmManager high CPU issue" into mainDmitri Plotnikov
2023-11-17Merge "Add APIs to let apps attach debug info to jobs." into mainKweku Adams
2023-11-17Properly set the NetworkRequest singleUid.Kweku Adams
A job's NetworkRequest should have the source app's UID as the UID. The previous code attempted to set the UID, but didn't modify the stored job, leading to potentially unexpected behavior of proxied jobs. Rearranging code to ensure we properly set the NetworkRequest UID. Bug: 311727153 Test: N/A Change-Id: I8fb49b74ff861ea82d89ab8d2791e4b917fd6ef2
2023-11-17Merge "Account for unseen constraint combinations." into mainKweku Adams
2023-11-17Add APIs to let apps attach debug info to jobs.Kweku Adams
1. Let apps specify a specific trace tag for when their jobs are running. 2. Allow apps to attach some tags to a job for debugging purposes. Bug: 293491637 Bug: 297106461 Test: atest CtsJobSchedulerTestCases:JobInfoTest Test: atest FrameworksServicesTests:JobStoreTest Change-Id: I7398210fc4730043f618579bad0d2e5140b912a7
2023-11-17Fix AlarmManager high CPU issueHari Raj Vijayakumar
- clampPositive assumes negative value is due to overflow and so sets to MAX_VALUE. However it also possible that negative value occurs due to addition of negative value(of higher magnitude) with positive of lower magnitude. In issue case, NTP sync causes RTC to move forward thus pushing whenElapsed to negative range. This means maxWhenElapsed would also be negative but is clamped to MAX_VALUE causing AlarmManager to go into infinite loop. Bug: b/308389917 Test: manual Change-Id: Ie12d5125f1feeeb1a5dd661a744f86d00796d126 Merged-In: I946333b86b2658ec1b70cb1e3110f5eae1b81486
2023-11-17Fix AlarmManager high CPU issueHari Raj Vijayakumar
- clampPositive assumes negative value is due to overflow and so sets to MAX_VALUE. However it also possible that negative value occurs due to addition of negative value(of higher magnitude) with positive of lower magnitude. In issue case, NTP sync causes RTC to move forward thus pushing whenElapsed to negative range. This means maxWhenElapsed would also be negative but is clamped to MAX_VALUE causing AlarmManager to go into infinite loop. Bug: b/308389917 Test: manual Change-Id: I946333b86b2658ec1b70cb1e3110f5eae1b81486
2023-11-15Account for unseen constraint combinations.Kweku Adams
Don't force jobs to wait for constraint combinations that haven't been seen in the recent past. By default, if a set of constraints have not been seen together in the past 3 days, then assume they won't be satisfied together and don't wait for those constraints to be met in order to run a job. Other constraint combinations may still be valid, so the job may be forced to wait for those. Bug: 236261941 Bug: 299329948 Bug: 299346198 Test: atest CtsJobSchedulerTestCases:FlexibilityConstraintTest Test: atest FrameworksMockingServicesTests:ConnectivityControllerTest Test: atest FrameworksMockingServicesTests:FlexibilityControllerTest Change-Id: I8f68b76afa2cc68e062f7ce09477aafb237dc6f1