The detector class to be used by the CountryDetectorService can be set
by overlaying config_customCountryDetector in the device config.
Test: atest CountryDetectorServiceTest
Bug: 141626568
Merged-In: I158abd6397e3102d13e431ba043e8ce45061b64a
Change-Id: I158abd6397e3102d13e431ba043e8ce45061b64a
(cherry picked from commit 34147601d8)
- Get all packages for system user
- Reuse split system user's logic to blacklist packages when headless system
user is enabled
- Add new method in UserManager to get headless sytem user mode (same as
in master)
Bug: 145626101
Test: edit device's sysconfig file, use tag: system-user-blacklisted-app to blacklist app
make services && adb sync system && adb reboot
cts test
Change-Id: I98d1bc33e7dd59ffa3ac6426f95af708671138da
(cherry picked from commit 9c4cf4945d57d45e429bc7d33bf6ffa68eb0838c)
Upgrade tuner on the main thread to avoid
ConcurrentModificationException.
Fixes: 133847620
Bug: 148794872
Test: mp droid
Change-Id: I15ef66a19eeac2c6baf652d83e6a90669834f203
Merged-In: I15ef66a19eeac2c6baf652d83e6a90669834f203
A crafted resources arsc could cause libandroidfw to read data out of
bounds of the resources arsc. This change updates the logic to calculate
whether the ref table chunk is large enough to hold the number of
entries specified in the header.
Bug: 129475100
Test: adb shell push ResTableTest data
Test: adb shell push poc.arsc data
Test: ./ResTableTest poc.arsc
Change-Id: Ifbaad87bdbcb7eecf554ef362e0118f53532a22a
(cherry picked from commit 8da1c38b69)
The alignment status is reported from WLC-HAL level and runs
on another thread. It may cause CalledFromWrongThreadException,
if use that thread to update UI directly.
Bug: 146770234
Test: atest SystemUITests:KeyguardIndicationControllerTest
Change-Id: I89bf1c188d6ba094106e059f1590c9eaf3703bb8
(cherry picked from commit 0e72713fdf)
Merged-In: I89bf1c188d6ba094106e059f1590c9eaf3703bb8
On reboot, we've encountered an issue where the handler returns null,
causing a null pointer exception in the broadcast receiver.
In this CL, we add a null check and an error message to prevent a sysui
crash.
Bug: 148869042
Test: build, reboot a few times
Change-Id: Iac7f3a538be9a53d4a76926523aa2a3f4f22723d
Merged-In: Ie8a2627004876cf35291d52bd3686a5014498f52
Before this CL, Uri.AbstractPart's implementation of Parcelable
was parceling and unparceling both the encoded and the decoded
representation. A Uri with inconsistent decoded/encoded
representation of its Parts would have remained inconsistent
across parcel/unparcel cycles. For example, such a Uri's
uri.getDecodedAuthority() might have returned "good.com" while
url.getEncodedAuthority() (used e.g. for toString()) returned
"evil.com".
After this CL, AbstractPart's constructor allows at most one of
the representations to be set (exception: NULL and EMPTY); this
means that no Part instance with inconsistent values can be
constructed via the constructor (e.g. by unparceling parceled
data). The historical parcel representation of a Part with both
values present can no longer be unparceled, which is safe because
Parcel does not guarantee backwards compatibility (the parceled
form must not be persisted across Android version upgrades).
When parceling, only one of the values is now stored, namely
the (canonical) one that was passed to the constructor.
Fixes: 124526860
Test: atest FrameworksCoreTests:android.net.UriTest
Test: Checked that if run before this CL, the added tests
would fail with a failure along the lines of:
ComparisonFailure: expected:</foo/[b]> but was:</foo/[a]>
or (if the first assertion was commented out):
ComparisonFailure: expected:<[b].com> but was:<[a].com>
Change-Id: I2bc2008e49de5a66641ecdbd8e5354dfa647269d
Merged-In: I2bc2008e49de5a66641ecdbd8e5354dfa647269d
(cherry picked from commit c9afa38f97)
(NOTE: this change is manually cherry-picked from master - master has the same
trace calls, but they were introduced by larger changes)
Bug: 145626101
Bug: 145027829
Test: manual verification
Change-Id: I5cae10c9c7e5ed6f733c72659643708dfa826fc7
Before the state was update lazily when someone interacted with
appopsmanager.
Since Q the the uid state might change depending on the procState
and hence we might need to trigger the opChanged callbacks when the
procState is applied.
Bug: 148180766
Test: (on master) atest CtsAppOpsTestCases:android.app.appops.cts.ForegroundModeTest
Change-Id: I99720a372db6e79eaba30e4563c09e009cffe86f
Merged-In: Id974769a4e9d89c01890b7557dd93f8444a3908f
Multiple packages might share a UID, but appOpsService might not have
cached the uid->package mapping for those yet. Hence the only way to
list all packages for a uid is to ask package manager.
setUidMode already handled this correctly, hence factor out the code
into notifyOpChangedForAllPkgsInUid and reuse it from
commitUidStatePendingLocked.
Bug: 148180766
Test: (on master) atest CtsAppOpsTestCases:android.app.appops.cts.ForegroundModeTest
Change-Id: I99a8f255a60d3523da7eb36a8f2c9426af1a1fea
Merged-In: I2d5d6c7aa38d201707349a137c9c29b7987775be
Currently backup service is re-activated unconditionally when clearing
a device owner but not profile owner. With this CL it should be
re-activate in both cases.
NB: there are two bits of state related to backup service:
1. activated or deactivated: This is out of user control, but can be
changed by the admin via DPM.setBackupServiceEnabled (this name is
a bit misleading here).
2. enabled or disabled: this is controlled by the user via Settings
and only available when backup service is activated (see 1.)
Bug: 143274029
Bug: 147997438
Test: atest CtsAdminTestCases && adb shell bmgr enabled
Test: atest com.android.server.devicepolicy.DevicePolicyManagerTest
Merged-In: I6f11642abe544c7df265ed7e2ad466d47796e7f9
Change-Id: I6f11642abe544c7df265ed7e2ad466d47796e7f9
(cherry picked from commit 775b26d884)
When doze state changed from DOZE to DOZE_PULSING on devices not
supporting doze_brightness_sensor_type sensor, there would be no
sensor events to update the AoD front scrim. And due to the scrim was
set to opaque at DOZE state, most views on the statusbar will be
invisible. This patch change the scrim to transparent again at leaving
DOZE state.
Bug: 148129743
Test: atest DozeScreenBrightnessTest
Change-Id: I1cf9d02c9e35dcb3e94cbbc24fec483c51e372d9
Bug: None
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I2d15aaa7402e4e08f1630aa29892ad6cd68bd2b1
Merged-In: I34d1d5f9a751c1d7680a5a5941c39b9fe33a473b
On automotive, it helps identify slow services. For example:
W ActivityManager: User switch delayed: observer #1
WallpaperManagerService sent result after 1608 ms
Without this change, the WallpaperManagerService wouldn't be logged
because the "give up" timeout is 3000ms.
Bug: 145558164
Bug: 144801993
Test: manual verification (see logcat above)
Change-Id: I68e3b7220bbac25075e4fd4dad83c3a26b88940c
Merged-In: I68e3b7220bbac25075e4fd4dad83c3a26b88940c
(cherry picked from commit 48a75cbd67)
NOTE: as user switch is a very low-frequency operation, these logs statements
don't need to be guard (to avoid spam).
Test: manual verification
Bug: 141502467
Bug: 140999054
Bug: 145027829
Change-Id: I7122e45c45a646419b03242c99d90417a29da92a
Merged-In: I7122e45c45a646419b03242c99d90417a29da92a
(cherry picked from commit ebccffe3b10d8642e7b1d64f183b627f644011a4)
(cherry picked from commit b5f0e74302)
This agent can be attached to an arbitrary Android process with
arguments that cause it to either reset or dump the JaCoCo information
to a provided directory.
Bug: 148178774
Test: manual, used examples in README to test whether it works on a
userdebug_coverage build on cuttlefish
Change-Id: If6cee20046f790676b8085e1ca84652c063295fa
Merged-In: If6cee20046f790676b8085e1ca84652c063295fa
(cherry picked from commit 2d84ae7640)
This change:
- modifies internal programSelectorFromHal to return null instead of
throwing NPE on empty input
- throws NPE on two of its usages where null is unexpected
- *does not* throw NPE on one usage where program selector is optional
(onTuneFailed in RadioModule.java)
Bug: 147522441
Test: boots, but have no quick way to trigger onTuneFailed(Result::error, {})
Change-Id: I6317da3fbde2bce90079b61bb0839e893e1c4712
(cherry picked from commit dc8a5683a149b4f5ce3d9a9f6198fbe310547dbf)
We can't rely on status bar state changes to update the notification
list. The current user might not be set yet, causing wrong notifications
to become visible.
Fixes: 145135488
Test: manual
Test: atest NotificationStackScrollLayoutTest
Change-Id: I34d1d5f9a751c1d7680a5a5941c39b9fe33a473b
Merged-In: I34d1d5f9a751c1d7680a5a5941c39b9fe33a473b
We updated staged sessions to activation failed state when they
aren't in terminal state, and device received ota and reboot. This
happend before the StagingManager resumes the sessions when
the whole set of parent+child sessions have been restored.
A parent session probably cannot find the child session, and a null
exception could happen.
In this change, we do not destroy child sessions before we destroy
the parent session. We only destroy a child session directly if we
are sure that its parent session doesn't exist.
Bug: 147651771
Test: StagedInstallTest
Change-Id: Iac6489a04df35f851aa18a91e1dde2d73928b8ec
Merged-in: Iac6489a04df35f851aa18a91e1dde2d73928b8ec
(cherry picked from commit 1fc8b36cf3)
am skip reason: Change-Id I58502d1b32d793aba9aa772fa2ad5ac38acca48a with SHA-1 a8fb6dc167 is in history
Change-Id: I957e0de935727d4ccb9263f27c123277329072a0
am skip reason: Change-Id I58502d1b32d793aba9aa772fa2ad5ac38acca48a with SHA-1 a8fb6dc167 is in history
Change-Id: Ia0198d3592672180b0c2f13010d000c9e3c3e058
am skip reason: Change-Id I58502d1b32d793aba9aa772fa2ad5ac38acca48a with SHA-1 ef5220e5b2 is in history
Change-Id: I1e39ae47fabb0eb668ac759f1e164771612c582a
am skip reason: Change-Id I58502d1b32d793aba9aa772fa2ad5ac38acca48a with SHA-1 ef5220e5b2 is in history
Change-Id: I80e44d4cb30a8648df50be2f5fc1b0fd084b3815