When a hun came in or went away, the touchable regions were not
enforced correctly due to a race condition. This lead to the user
grabing the notification panel unintentionally and ripping him
out of the normal touch state.
Also fixed a small bug where the alpha was not correctly animating
sometimes and the HUN shadow would still draw.
Bug: 20956211
Change-Id: Iae1fef5825b3d2b8b4128cc8c3272019194cd819
(cherry picked from commit 8b4a06e9e2)
We now maintain a mata-state with each permission in the form of flags
specyfying the policy for this permission. This enables support of the
following use cases:
1. The user denies a permission with prejudice in which case an app cannot
request the permission at runtime. If an app requests such a permssion
it gets a denial unless the user grants the permission from settings.
2. A legacy app with disabled app-ops being upgraded to support runtime
permissions. The disabled app ops are converted to permission revocations.
The app ops manager is a part of the activity manger which sits on top
of the package manager, hence the latter cannot have a dependency on the
former. To avoid this the package installer which is the global
permission managment authority marks the permission as revoked on
upgrade and the package manager revokes it on upgrade.
3. A device policy fixing a permission in a granted or revoked state. This
additional information is folded in the meta-state flags and neither
apps can request such permissions if revoked not the user can change
the permission state in the UI.
Change-Id: I443e8a7bb94bfcb4ff6003d158e1408c26149811
When in device idle mode, we now prevent most apps
from being able to hold partial wake locks. The
device idle controller now pushes its white list of
app uids into the power manager, so it can apply this
policy correctly to only apps that are not whitelisted.
The implementation adds a new "disabled" flag to a wake
lock which is set when we want to apply this policy. When
set, we ensure that we tell battery stats that the wake lock
is not being held and ignore that wake lock when computing
the power state summary.
Also add new SDK APIs to schedule alarms that are allowed
to execute while in idle mode.
Finally add new dumpsys commands to the device idle controller
to completely disable and re-enable its operation, to use
for testing.
Change-Id: I1f16672c6ac06d03bb538f9854d5843db9aa6f27
* commit 'ce4408a104300006a3296bfd2f2aad9c0f2fd9dc':
docs: Added training docs for Android unit testing tools and APIs. This training covers techniques for running unit tests on local machines, using mock objects in local unit tests, and building instrumented unit tests to run on a device or emulator.
* commit 'a75778438fde2e7ec5322a69930ff49ded48f4c1':
docs: Added training docs for Android unit testing tools and APIs. This training covers techniques for running unit tests on local machines, using mock objects in local unit tests, and building instrumented unit tests to run on a device or emulator.
* commit 'd43ec6380ce04f4c0830cd35d1dbd7b3050799d4':
docs: Added training docs for Android unit testing tools and APIs. This training covers techniques for running unit tests on local machines, using mock objects in local unit tests, and building instrumented unit tests to run on a device or emulator.
* commit '174dc3ba607965cf1dd0578f83ce373fa74d0f65':
docs: Added training docs for Android unit testing tools and APIs. This training covers techniques for running unit tests on local machines, using mock objects in local unit tests, and building instrumented unit tests to run on a device or emulator.
This training covers techniques for running unit tests on local
machines, using mock objects in local unit tests, and building
instrumented unit tests to run on a device or emulator.
Change-Id: I9fee9ac3bd7382fb158145600b1850775edb687d
Fix NPE in getHomeActivityForUser. Skip system processes in
killBackgroundUserProcessesWithRecordAudioPermission.
Bug: 21016983
Change-Id: I97f9ca362f4dbf0a659e3d5d7ae6cd8dbeb6404a
This fix is to take advantage of ArrayMap, which is a key-value
mapping data structure that is more memory efficient than HashMap.
Bug: 11604254
Change-Id: I57006880de570a4d7f3899e274cf0a06355d116b
This is to enable Android Lint and Android Studio to flag nullness
issues at compile time.
Bug: 18088752
Change-Id: I21033b8fcdd989d08c89b50685e47fbb9c74acbf
Separate the chooser targets into rows by type. Remove some API that
was redundant with LabeledIntent, simplifying ChooserTarget.
Change-Id: I90de471825f05d85e6ffbe72a32fb597be824a30
Keystore's begin operation now requires parameters which describe the
operation (e.g., algorithm, block mode, padding). This adjusts
KeyStoreTest to provide the necessary parameters.
(cherry-picked from commit c5e4d7af22)
Bug: 19509156
Change-Id: Ibc665fbc893766a683a4aadc97a64ffdf2d0d85f
Complete missing build-time parameters for encoding and channel
mask, according to documentation.
Bug 20894895
Change-Id: I61f9bfab374effeeded5ae782c4e8513b7310c06
Covers cases where VPN is prepared, but the consent bit has been lost,
e.g. because updates were uninstalled on the current VPN app. In this
case we want prepare to re-trigger the consent flow, and we do not
want establish() to work.
So, when prepare(package, null) is called, as VpnService.prepare()
will do, if we would have otherwise taken no action and returned true
because the VPN was already prepared, we now check if package has lost
its consent and unprepare the VPN (so that it can be prepared by the
VpnSettings ConfirmDialog).
Bug: 18491424
Change-Id: I8fa60dbc2b95e15f9ce61f9b7e6735db745babba