If a provider is disabled, we don't mark an app as
actively using location just because it's requested
that provider. Also updates the concept of high
power to support third party custom providers
(doesn't hard code gps but looks at the provider's
actual stated power requirement).
Change-Id: Ie01243bf04d7301962ea9cdb25fb7d8d97566e02
Move the early return outside the try {} finally so we don't call
setEnableFailFastMobileData(DctContants.DISABLED). Otherwise
referencing counting is wrong and an exception is thrown in DcTrackerBase.
Bug: 10304904
Change-Id: I5ba5121e473bada9f3daa8d6f3d3577cec8212fc
Write supplementary GIDs to packages.list for lower-level system
components to parse.
WRITE_EXTERNAL_STORAGE also implies sdcard_r GID. Switch to always
enforce READ_EXTERNAL_STORAGE permission. Update permission docs to
mention new behavior.
Change-Id: I316ba4b21beebb387ac05c80980ae9b38235b37d
- When a new display is added, display add event triggers handleDisplayAddedLocked in
WindowManagerService asynchronously.
- After creating virtual display, application can move on and call addWindow before
handleDisplayAddedLock is called.
- Application's addWindow leads into creating a new DisplayContent, and a window will be added there.
- But when handleDisplayAddedLocked is called later, it will create a new DisplayContent for the
display, and the window added by the application will be lost.
- This CL tries to fix the issue by checking the presence of DisplayContent before creating a new
one.
bug: 9975297
Change-Id: I9fac7ffb57c3e1effa8f0e950539cfae73e7e1c6
The warning about an ActivityRecord not being assigned a task was
incorrect in the location modified by this fix. In this case an
existing ActivityRecord is relaunched so it is not necessary to
assign the task to the passed ActivityRecord.
Addresses the warning associated with bug 10181389.
Change-Id: I76d5066c320bf9da2663bc34bcaca801ad4953bc
Now that granted Uri permissions can be persisted across reboots,
offer APIs to discover them. Returns incoming or outgoing grants
matching the requested flags and mask. Add helper method to discover
"open" documents using this new API and filtering for non-documents.
Require that callers own at least of the filtering packages to avoid
exposing all grants. Switch internal grant tracking to use ArrayMap.
Change-Id: I0a755f221d0d160b411f8d3cfc48279b64345733
Provide developer APIs to discover application-specific paths on
secondary external storage devices. Covers files, cache, and OBB
directories. Apps will not have write access outside their package-
specific directories on secondary devices, so only primary storage is
exposed through Environment.
Creation of .nomedia files will be handled by FUSE daemon in future
change.
Change-Id: Ifcce6201a686d80269d7285adb597c008cf8fa7c
1. Factored out the printer discovery APIs of a print service in a
dedicated session object that is created by the print service on
demand. This ensures that added/removed/updated printers from
one session do not interfere with another session.
2. Updated the app facing APIs to pass in a document info along
with a printed file. Also exposed the print file adapter so
apps that create a temporary file for printing can intercept
when it is read by the system so the file can be deleted.
3. Updated the print service documentation.
Change-Id: I3473d586c26d8bda1cf7e2bdacb441aa9df982ed
The new wallpaper positioning associated with multiple activity stacks
put animation backgrounds in front of the wallpaper. This caused
hideous jank. Testing for visible wallpaper and moving the background
behind it fixes the jank.
Fixes bug 10078282.
Possibly fixes bug 10247094.
Change-Id: I3f4e07accd7276d59725192081904b791f77781f
For process state, if a top process is making use of another
process, we should probably count the second process as top
as well (instead of IMPORTANT_FOREGROUND). Specially, when
chrome binds to render processes we want those render
processes to be TOP. Otherwise, they end up in the
important foreground state and it looks like they are running
for some other reason in the background.
Change-Id: Id115dbb65dc2b403ffa4bbe4e7837564eb3b9cb5
Once content has been drawn another pass through layout is required
to set mHasContent in the LogicalDisplay. Previously this pass was
occuring because of a delayed animation step. When timing of that
step changed that pass occurred before the draw completed. This is
why Presentations were immediately displayed in jb-mr1 and not
jb-mr2.
Fixes bug 10154780.
Change-Id: I0075c5a73d5cdf972e73fdd59c1fde46df64e245
We will need to display the name of the device owner (the human
readable name of the institution) to the user.
"This device is managed by google.com"
Change-Id: Ic33b6530c19cb14a118245692697205de3911a58
1. Removed the inactive pointer filtering which was not reporting pointers
to the apps if they did not travel a minimal distance. This prohibits
developemnt of apps with innovative interaction models such as using
the screen as a virtual Braille keyboard.
2. We need the first pointer to travel some distance or a minimal amount of
time to pass before deciding if the user explores or performs a gesture.
In this period we were dropping events which was preventing inovative
interfaces such as gesture based typing since we were chopping off a
significant portion of the data.
Change-Id: I5c1aa98d14c83f356a9c59c93f4dc1f970c0faca
The FUSE daemon is using packages.list to map from package name to
appId after it drops permissions, so create a new "package_info" GID
to grant read access.
Also switches FileUtils to use Libcore.os.
Change-Id: I9451ca4e90e8a985526805c6df0888a244a1db36