The issue is that the VolumeDialogControllerImpl.C's mCallbackMap is
accessed from two different threads. Instrumentation shows that via
add() and remove() it is modified on the main thread, and methods like
C.onConfigurationChanged() are called from
VolumeDialogControllerImpl.Receiver, which registers with
on a handler tied to a background thread
(VolumeDialogControllerImpl.W/mWorker). C.onConfigurationChanged()
is called directly from that thread.
Use a concurrent hash map in place of hash map to avoid the
concurrent modification exception.
Test: manual. Ensure device boots. Ensure basic volume control
functions. Ensure a configuration change (via locale change)
does not result in any crash.
Bug: https://issuetracker.google.com/issues/150402778
Change-Id: I26bb8533c30d57e48f500e6863d0f522e1559567
The interface which is imported by an unstable interface is 'unstable'
as well. Until now, the ODR violation checker in aidl has omitted an
interface imported, but it will be checked, accordingly, fix the current
problem
Bug: 146436251
Test: m nothing
Change-Id: I3a9ae6e17e49c731e825ef00b9b9574c3f2e2719
Merged-In: I3a9ae6e17e49c731e825ef00b9b9574c3f2e2719
Exempt-From-Owner-Approval: cp from internal
* changes:
profcollectd: trigger trace records processing during system idle
profcollectd: Rename config env to persist.*
Introduce ProfcollectForwardingService
While setting an alarm, we should remove any existing occurrences
of the same, but we were skipping on removing any past due non-wakeup
alarms.
In rare cases when a caller is spamming the alarm manager, we
might end up accumulating alarms inside mPendingNonWakeupAlarms that
count towards the per-uid limit of the caller, and may result in an
exception.
Test: atest FrameworksMockingServicesTests:AlarmManagerServiceTest
atest CtsAlarmManagerTestCases
Bug: 167595061
Change-Id: I2d2b08019a3b3a1e63b60d3a6e2909db7b1a1864
Add a JobService to trigger trace records processing when the device is
idle and connected to a charger, saving profile disk space that
accumulates over time.
Bug: 79161490
Test: build
Merged-In: Ibb50fb1d05e52be76a63dbf95884b788965eb979
Change-Id: I10ab56a8f0727b0660d1bcd9ba43d0b39a691084
See https://source.android.com/setup/contribute/respectful-code for reference
BUG=161896447
Test: make (change is only comments + 1 log message)
Change-Id: I8a21ef4ce19c517853388d8f7542f3a0cf8d91d5
Merged-In: I26ef8e079bf13f19bdc3bbc8219f572a43b68090
These keys were added at some point in the past when the API window for
a release had already passed. Expose these constants for use by apps.
Fixes: 149906782
Test: NA -- constants only
Change-Id: I34c34b05f559ab3424bce42ec61bae3572ff6f8d
This helps the build system to convey the information to linkerconfig so
that jni_libs are available via libnativeloader.
Bug: 168077238
Bug: 150767721
Test: presubmit
Merged-In: Ie32e88355828c8f696cce9d128eebb6da70026f1
Change-Id: Ie32e88355828c8f696cce9d128eebb6da70026f1
(cherry picked from commit 95642bbc3f)
(cherry picked from commit 39c94c0493)
As of I1cea62aaedb7e653648130e3d315761c0c9aece4, there is only
one user of framework-defaults, so the separate defaults are no longer
needed.
Test: m
Change-Id: Ia06b50195dcf7de076664af4592616be5264ae21
Merged-In: Ia06b50195dcf7de076664af4592616be5264ae21
This avoids duplicating the compilation of the module java source
code, as well as maintaining the compilation rules in two places.
Bug: 149906971
Test: m FrameworkServicesRoboTests
Change-Id: I1cea62aaedb7e653648130e3d315761c0c9aece4
Merged-In: I1cea62aaedb7e653648130e3d315761c0c9aece4
//visibility:override is no longer needed for impl_library_visibility
to override visibility.
Removing this allows the defaults module to specify better defaults.
- Stub libraries are made publicly visible, via `visibility`
- Impl libraries are private by default, but visibility is extended
by the modules
Bug: 165017290
Test: m
Exempt-From-Owner-Approval: build refactor
Change-Id: Ibf35bfac5c99a21125f89ba10945f3364217b90f