Modify the package parsing code to understand optional permissions
(android:required="false"). This is essentially a rollback of
e824120016 with some minor changes.
Expose the requestPermission API to third party apps. This allows
an app to request an Intent which, when passed to
startActivityForResult, will prompt the user to approve permissions
for an app.
In the event we decide to not launch with this feature, this change
can be rolled back.
Change-Id: Ie3626deae9b16e510323f94a2c80377f7c84b26f
Add the buildPermissionRequestIntent API to PackageManager. This allows
an app to request an Intent which, when passed to
startActivityForResult, will prompt the user to approve permissions
for an app.
Currently, the API is @hide. It will be unhidden in a future change.
Change-Id: I4ec677002afa799a6eb5c2657c28452c91012436
- follow up to the fix for bug #8480245 ViewGroup layout margins can be wrong in RTL mode
- deal with "RTL compatibility mode": if left/right margins are not defined and if we
haev some start/end ones then use the start/end ones.
Change-Id: I98fe3276de2bd14f60a1c423a47569a68046f7be
Currently, isHostRoute returns true iff the gateway address is
the unspecified address (0.0.0.0 or ::). Thus, it will return
true for any route that has no gateway (e.g., a route pointing at
a point-to-point interface), even if the route is not a host
route.
Fix this by checking the prefix length instead. This should be
safe because:
1. mDestination cannot be null, since it's created using new.
2. Host routes created using makeHostRoute (which is what
ConnectivityService calls) always have the correct prefix
lengths (/32 or /128) set.
Bug: 8276725
Change-Id: I14285398823fa6c312349128c7cc216cad4a84c9
Modify isDisplayablePermission to display a permission if the
app update will grant a new optional permission to the app.
Change-Id: Ic647826b0c48f9f7ec8e4f69b90197211f83278d
Fix a bug in unstable ContentProvider.
IllegalStateException: ref counts can't go to zero here: stable=0 unstable=0
IllegalStateException: unstable count < 0: -1
There is a race between main thread and background database thread. Main thread
is responsible for handling the REMOVE_PROVIDER message. Database thread starts
insert or query request again and again. acquireProvider in db thread will often
snatch provider from the jaws of death, sometime it fails to remove REMOVE_PROVIDER
which is already fired out from MessageQueue. But completeRemoveProvider in main
thread gets suspended when trying to execute the critical section. If db thread
released the provider before main thread resumes the execution, then two
REMOVE_PROVIDER messages will be executed.
Change-Id: I8588aa1d1a8bc444dcd2adf6f8bc3f055cebbdc4
Signed-off-by: Guobin Zhang <guobin.zhang@intel.com>
Hidden for now. Also, modified callback that is called
from NfcService to pass all data in a single object
(BeamShareData). This avoids having to do multiple IPCs
at touch time.
Bug: 5134061
Change-Id: I235f608cef9935041b33b4b7a6980f109c15576c
The input method manager service now supplies an input channel for
communication while creating an IME session on behalf of the
application.
This change significanly reduces the overhead of IME event dispatch
by using a standard input channel to send input events rather than
using binder. This results in fewer thread context switches
and fewer object allocations.
What's more, the IME may perform additional batching of the motion
events that it receives which may help it catch up if it is
getting behind while processing them.
Bug: 7984576
Bug: 8473020
Change-Id: Ibe26311edd0060cdcae80194f1753482e635786f
Bug #8378964
This change defers drawing into layers until after the renderer for FBO0
is ready to draw. At that point, all the precaching is done which means
all glyphs can be uploaded at once in the font caches.
Change-Id: Ie1f7a7ff30f76f06fb3dbc72c7d05e66207d1ecb
Also rewrite @deprecated comments to use an initial capital so they
look right in the generated documentation.
Also improve formatIpAddress documentation.
Change-Id: I317ebe411ef76e16a4535318ce73e00b63af38da
A Device Owner cannot be uninstalled and is available to all users. It must
be registered before the device_provisioned flag is set.
Device admins can be disabled until used, but visible to device policy
manager, so that users wont be bothered with update requests.
Opened up a few related APIs for use by a system-installed Device Owner.
Change-Id: I847b5fe68c0f724863f778a67602b5bddc79d8e5
The original documentation for this class indicated a leading slash was possible
but the code did not support it. Since then, the docs were changed to reflect
what the code does.
The purpose of this change is to allow the use of uri.getPath() as an argument.
With this change, the following can be done
matcher.addURI(ContactsContract.AUTHORITY,
ContactsContract.CONTENT_FILTER_URI.getPath(), CONTACTS_FILTER)
instead of
matcher.addURI(ContactsContract.AUTHORITY,
"contacts/filter", CONTACTS_FILTER)
Change-Id: I76a9e3133365be9fe7a8de86eae57f9eea1cd2a3
Previous implementation processed Overlay touch after other children in
a ViewGroup; it should be the other way around.
Also, fixed some invalidation issues.
Finally, added new behavior to automatically place View which is already
parented into the same global position, by calculating where the overlay is
on the screen relative to the previous parent of the View.
Issue #8459085 Overlay needs to handle touch correctly
Change-Id: Ic2cee12d2bc345f64ed3f4d855a5c3496967a201
Protect app widget broadcasts from abuse.
In this case the app was sending an APPWIDGET_UPDATE broadcast
without specifying a target, which (a) should not be allowed (you
should not be able to send updates to other apps), and (b) resulted
in every single potential app widget in the system being launched...
which was about 75 of them.
Change-Id: I9d48733610ce6d5a7c32e69a3e06b9f33bd79a34
This patch set allows the PMS to parse the
mac_permissions.xml file which contains the
seinfo values. Each package that is installed
on the device will be assigned an seinfo value
based on policy. This seinfo value will help label
the app process and data directory. Modifications
include adjustments to ApplicationInfo.java
to store the seinfo tag per package as well as
adjustments to installd to communicate the seinfo
tag to libselinux.
Change-Id: I61ad1ea12fb6a9a6d0b108ec163bc4bf4c954b58
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>