1. Only log a package-not-found error if the user has been unlocked. If
the user is still locked, it's reasonable to get a package-not-found
exception for persisted direct-boot-unaware jobs.
2. Actually log the cache for debugging purposes.
3. Only update the package info for the user the package changed in.
4. Also update the cache when an app is updated.
5. Clean up the cache when an app is uninstalled or a user is removed.
6. Make sure locked methods are annotated and named correctly.
Bug: 141645789
Bug: 184346794
Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/job
Test: atest frameworks/base/services/tests/mockingservicestests/src/com/android/server/job
Test: atest CtsJobSchedulerTestCases
Change-Id: I570fe874ec3491f61c7eaf1d1c964a7dce9d7998
The Chrome team was planning to provide a new prebuilt SDK last week
which returned to targeting the official R SDK level, but other
challenges prevented them from doing so.
They still intend to land an updated prebuilt which targets R, but
to unblock testing this change makes that change on their behalf;
when we see a very specific Chrome version code we force the target
SDK back to R. This code will safely become a no-op during their
next prebuilt, which should have a different version code.
Bug: 183905675
Test: manual
Change-Id: I211e7550f489294f90d8729b518ec9a70a37ec96
If an app op becomes "paused" (microphone muted or disabled by toggle),
remove the indicator immediately as opposed to holding for 5s.
Also, pass the value that we are using for mic muted to
PermissionManager, so they are in sync.
Test: atest SystemUITests
Test: manual
Fixes: 184891081
Change-Id: I4d46fc6e1cefa45c0d718cc01f40c8f060dafee7
NotificationHistoryDatabase sometimes attempts to read a file that doesn't exist; this happens because scheduled history file deletions (for files >24h old) weren't correctly removing AtomicFiles from the mHistoryFiles list due to using the built in LinkedList remove() method. The new method explictly removes the first file in history matching the file path deleted, rather than attempting to use AtomicFile equality.
Test: atest NotificationHistoryDatabaseTest; manually verified that NotiHistoryDatabase stopped erroring
Fixes: 185257041
Change-Id: I56c4a3293166a84e29920afe5549171becdaa496
This is a hidden API and is not compatible with becoming a mainline
module.
Bug: 181787682
Bug: 181096312
Test: Builds
Change-Id: Ic59b8e62eb2e1852a820203b770e2483c3fe53f4
Show all notifications in the same section at the same time.
On each invocation of StackScrollAlgorithm
- compute fraction of section showing based on current expansion amount
- apply that fraction to each view's intrinsic height
The notification icon shelf no longer slides down from top of screen,
instead it shows if the notification section before it is showing.
Bug: 172289889
[Test accordian effect]
Test: open shade with single section, no shelf
Test: open shade with single section, silent section, no shelf
Test: open shade with first section overflowing into shelf
Test: open shade with first section, silent section overflowing into shelf
Test: open shade with no notifications (empty shade view)
Test: open shade with shelf, scroll notifications, then close shade
=> accordian effect applies to scrolled state
[Test for regressions]
Test: add/remove delayed notification that arrives while shade opens
=> animation instantly updates for new notifs (while expansion runs)
Test: open shade from heads up notification
Test: open shade from pulsing (incoming notif on aod)
Test: open shade from lockscreen
Change-Id: If3236b9dc202ee75db7cac51a66c49620556ec10