Commit Graph

4188 Commits

Author SHA1 Message Date
Sander Alewijnse
d2a1eec400 Add Device Policy API to disable screen capture.
WindowManager will set secure flag on SurfaceControl for
all windows of a flagged user to prevent screen capture.
API is consistent with the camera disable API.

Change-Id: Ib180f67f1ad827b6f4aca2af615274256cce58f4
2014-07-23 13:44:28 +00:00
Bryan Mawhinney
e191f901d9 Store actions passed to MediaStyle.setShowActionsInCompactView in extras
So that they can be bridged appropriately by Android Wear

Change-Id: I3a21a74991c8067ece1a04fbd0b92dd21438e0fd
2014-07-23 08:49:28 +00:00
Sreeram Ramachandran
03666c705d Cleanup: Delete dead code.
Bug: 15413389
Change-Id: I315468832ef18ffc84174e54774ab63b86d284dc
2014-07-22 15:46:34 -07:00
Craig Mautner
dc00cbe2c1 Create API for launching from recents
Relaunch apps from recents using the same uid and package as was used
in the original launch.

Fixes bug 16358208.

Change-Id: I340800bfee79926b197929360d69f1d570bbf1eb
2014-07-22 18:13:34 +00:00
John Spurlock
1fa865f396 New NotificationListenerService listener flags api.
Give activated listeners the ability to request changes to
listener-level or host-level state.

Currently this consists of the ability to suppress notification alerts
(alerts = the haptic / audio feedback of a notification).

Bug:15888672
Change-Id: I045e3b99d1f15e3f96ebaf17d3083a97e02ecb42
2014-07-22 07:24:22 -04:00
Dianne Hackborn
33f5ddd1be Add permissions associated with app ops.
Change-Id: I575ad7a3ceea59486ca601f69760b14f6269511d
2014-07-21 20:15:59 -07:00
Amith Yamasani
e5bcff624f Rename setApplicationBlocked to setApplicationHidden
This corrects the expected behavior of the app state. Hidden apps
can be installed by the store to be brought out of hidden state.

Bug: 16191518
Change-Id: Id128ce971ceee99ba1dea14ba07ce03bd8d77335
2014-07-21 22:18:40 +00:00
Andres Morales
1e586e08bf Don't register PDBService if not available on device
Bug: 16455896
Change-Id: If576ce8e837ba498f10848795706efb29e76974a
2014-07-21 12:16:32 -07:00
Adam Powell
09a65601b2 Sort ResolverActivity items based on UsageStats
Sort targets by the total amount of time the user has spent with their
containing package in the foreground.

Bug 15694906

Change-Id: I63c956424f78eb22911517674dfefd96901d19f8
2014-07-20 17:12:13 -07:00
John Spurlock
c0650f02b8 Add audioAttributes to Notification.
@deprecate the old audioStreamType-based metadata in favor
of attribute-based replacements.

Bug:16401631
Change-Id: I2c140f87dd4ad2141c6c0a6f391877c295973866
2014-07-19 13:22:39 -04:00
John Spurlock
7b41467704 Zen mode filtering should use new usage constants.
Refactor stream-based calls to usage-based calls.

Bug:15279516
Change-Id: I3f7757d8123c14670e2ad5f8e6aa4e9803efe7ec
2014-07-19 11:57:51 -04:00
Amith Yamasani
570002ffd4 Add a hidden API to expose cross profile caller id check
To be used by telephony/contacts.

Change-Id: If8e06c20a708ce5e8f7d717d8758c19a78efa46d
2014-07-18 22:51:04 +00:00
Dake Gu
7bf379c8af ActivityTransition: fix wrong width/height applied to sharedelement.
transform screen position/size to position/size in parent of sharedelement.
fixed bug of transformMatirxToLocal() and transformMatrixToGlobal() that gets

Change-Id: I4c7b12f1ada7004ab7594961df4079be4ca4c909
2014-07-18 22:49:57 +00:00
Adam Lesinski
0debc9aff4 First iteration of a public UsageStats API
UsageStats API that allows apps to get a list of packages that have been
recently used, along with basic stats like how long they have been in
the foreground and the most recent time they were running.

Bug: 15165667

Change-Id: I2a2d1ff69bd0b5703ac3d9de1780df42ad90d439
2014-07-18 15:24:20 -07:00
Jim Miller
06e345089a Add DevicePolicyManager flag for fingerprint.
Change-Id: Icb3e4b98d97487179acefabc7a3b747d3d0fa23a
2014-07-18 20:48:34 +00:00
Dan Sandler
5598216931 Merge "Deprecate and stop generating tickerViews." into lmp-dev 2014-07-17 19:20:15 +00:00
Dan Sandler
5fcdf6e81d Deprecate and stop generating tickerViews.
Tickers have been replaced in the UI by heads-up
notifications (and not creating the tickerView will save
memory, almost 150k if you have an xhdpi largeIcon).

Update docs to explain that tickers are just for
accessibility now.

Bug: 16395266
Change-Id: Ib1372b34c1c261f64228bbe705d174675cd007dc
2014-07-18 12:11:58 -04:00
Dan Sandler
1b71878e4e Actually show secret notifications sometimes.
Factor out the "should we be hiding sensitive data"
predicate so we get it right everywhere.

Show visibility stuff in Notification.toString().

Bug: 16307122
Change-Id: Ifd16d073c4595add2ac3582ffc0d0179e55246e5
2014-07-18 13:37:33 -04:00
Bryan Mawhinney
8a97d9dfc5 Merge "Default MediaStyled notifications to CATEGORY_TRANSPORT" into lmp-dev 2014-07-17 19:45:26 +00:00
Bryan Mawhinney
6be8de36e6 Default MediaStyled notifications to CATEGORY_TRANSPORT
This makes it easier to identify them later (e.g., for filtering).
The developer can always specify a different category if preferred.

Also fixed some javadoc related to setMediaSession()

Change-Id: I5f28514758218ff66fdbaa9fd37ccb19f12d4852
2014-07-18 10:35:12 +01:00
Jae Seo
54a4634983 Merge "TIF: Add TvParentalControlManager" into lmp-dev 2014-07-17 18:11:21 +00:00
Jae Seo
6057102dbb TIF: Add TvParentalControlManager
Each TV input service is now required to query the system whether the
user is allowed to watch the current program before showing it to the
user if the parental control is turned on, which can be checked by
calling TvParentalControlManager.isEnabled(). Whether the TV input
service should block the content or not is determined by invoking
TvParentalControlManager.isRatingBlocked() with the content rating for
the current program. Then the TvParentalControlManager makes a judgment
based on the user blocked ratings stored in the secure settings and
returns the result. If the rating in question turns out to be blocked,
the TV input service must immediately block the content and call this
method with the content rating of the current program to prompt the PIN
verification screen.

Each TV input service also needs to continuously listen to any changes
made to the parental control settings by registering a
TvParentalControlManager.ParentalControlCallback() to the manager and
immediately reevaluate the current program with the new parental control
settings.

Bug: 13172379
Change-Id: I8e1900d4b8d28c56798986d5c3906bd418ab97ac
2014-07-17 16:29:36 -07:00
Craig Stout
abdd154334 Fix timepicker double done buttons.
Leanback theme uses a legacy layout with a done button, but
apps won't necessarily have target apilevel L.

Change-Id: Ib38b08df1fe07bd8fb4e64e93633ce0b7eb12567
2014-07-17 23:28:48 +00:00
Michael Wright
c39d47a8e7 Add MediaProjection APIs.
The new MediaProjection infrastructure allows the system to hand out
tokens granting the ability to capture the screen's contents, audio,
etc. at a granular level. It's intended to be used both for screen
casting, via the cast APIs, as well as screen sharing via third party
applications.

The screen sharing case is implemented, but all of audio capturing
is still forthcoming.

Change-Id: I4b24669bed7083e11413c10ed8d6b025f5375316
2014-07-17 14:30:19 -07:00
Christopher Tate
2e40d115ca Add BackupAgent.onRestoreFinished() callback
The agent's onRestoreFinished() method is called after all available
data has been delivered to the app, whether via the key/value restore
API or the full-data file-at-a-time API.  This gives the app a stable
opportunity to do any postprocessing that might be appropriate.

Also fixes a lingering bug in the framework's handling of backup
agent lifetimes.  In cases where an existing agent instances was
being rebound, the framework was forgetting to notify the dependent
that the agent was available.  This was causing timeouts and restore
failure.

Bug 16241004

Change-Id: I3f52b299312d30d38b0cba63a2cfaeb934991ef2
2014-07-17 17:43:24 +00:00
Adam Connors
c8fa3ae2ce Merge "Create DPM APIs for cross profile callerId" into lmp-dev 2014-07-17 00:15:07 +00:00
Adam Connors
210fe21e95 Create DPM APIs for cross profile callerId
Contact information in the managed profile is shown
in the incoming call UI unless blocked using this API.

TODO: Actually plumb this into the caller-id logic.

Bug: 16301261
Change-Id: If03adc907d9558baa0a45a1833b857206b7bf96a
2014-07-17 16:28:52 +01:00
Alexandra Gherghina
999d394ade Ads per-user APIs to manage accounts through the AccountManager
Bug: 16056552
Bug: 14642886
Change-Id: I17ff6c2515285e63c84cecf2f861d10666c393c5
2014-07-17 17:08:49 +00:00
Dianne Hackborn
fee756ff91 Implement issue #16330060: Inform ActivityManager about WebView...
...state changes.

Add a new API to tell the activity manager about a new dependency
one process has on another package.  Start using it already for
when apps is Context.createPackageContext() to load code from another
app.

Also do some work on getting the monitoring of proc/uid states
in shape so it can be used by unundled code, along with an
AppImportanceMonitor class for doing so.

Some small fixes and additions to VoiceInteractionService.

Improve handling of unaccounted/overcounted battery use so that
they aren't shown to the user unless they are significant.

Change-Id: I22dd79a73f4e70103d3f8964494aebc8a31f971c
2014-07-16 22:50:31 -07:00
Alan Viverette
5134478151 Add public attributes for TimePicker styling
BUG: 11218747
Change-Id: Ifdf981280ebe20a9066f219c9a4505d0d7486b2e
2014-07-17 04:36:11 +00:00
Vinit Deshpande
7686c061b7 Introduce RTT Manager
Change-Id: Ic9a16d587897b272f85cdb2b8c52b51bca060d18
2014-07-17 00:45:20 +00:00
Christopher Tate
c295a44336 Merge "Always call finishBackup() if performFullBackup() succeeded" into lmp-dev 2014-07-16 16:25:13 +00:00
Christopher Tate
a176d22110 Always call finishBackup() if performFullBackup() succeeded
Even if we later get an error from sendBackupData() we need to give
the transport its teardown callback.  This simplifies the transport
logic considerably.

Change-Id: Ib8c0e210d4a876ee6b083a4d619dfccc462da4e5
2014-07-16 13:10:58 -07:00
Fabrice Di Meglio
278387fb5f Fix bug #16309454 Broken recent button after dismissing set time dialog
- correct set and use the Canceled state

Change-Id: Id60ae14c493254193ee677b66388a64a49618273
2014-07-16 20:13:45 +00:00
Narayan Kamath
2053168eb4 Dexopt for Context.createPackageContext when code is included.
The package manager now keeps track of per ISA dex-opt state.

There are two important things to keep in mind here :

- dexopt can potentially be very slow. In cases where the target
  package hasn't been dexopted yet, this can take multiple seconds
  and may cause an ANR in the caller if the context is being
  created from the main thread.
- We will need to remove the constraint that dexopt can only be
  requested by the system (or root). Apps will implicitly be
  requesting dexopt by asking for package contexts with code included.
  It's important to note that unlike dalvik, the dexopt stage in ART
  isn't optional. ART cannot load classes directly from dex files.

bug: 15313272
Change-Id: I0bd6c323a9c1f62f1c08f6292b7f0f7f08942726
2014-07-16 19:23:52 +01:00
Narayan Kamath
caa7119294 Temporary workaround for getApplicationInfo + multiArch.
Google play services client libraries construct native paths
using pm.getApplicationInfo().nativeLibraryDir.

This is a temporary workaround until we've switched all code
over to pm.createPackageContext().getApplicationInfo() or
whatever API we decide on to surface correct multi-arch
lib paths.

bug: 16013931

Change-Id: Ib719cf6f31da9a29b76e942cd2e28bda1f19b264
2014-07-16 17:58:42 +00:00
Narayan Kamath
d8723bd3d6 Merge "Adjust nativeLibraryDir for package contexts of multiArch installs." into lmp-dev 2014-07-16 01:00:53 +00:00
Narayan Kamath
7dba6eb3ac Adjust nativeLibraryDir for package contexts of multiArch installs.
When we're creating a package context for a multi-arch app,
adjust the native library directory to match the bitness of
the process creating the context.

This change also removes apkRoot (which wasn't really being used)
and replaces it with a fully constructed secondary library path.
The secondary library path is a transitional measure until we
can reorganize the system image so that we can use nativeLibraryRoot
for system paths as well (nativeLibraryRootRequiresIsa will then
be true for all packages except for legacy installs).

bug: 16013931

Change-Id: I5ae090334b377b9e087aecf40075fab81b20b132
2014-07-16 13:37:16 +01:00
Jeff Sharkey
d0a2de06a7 Merge "Add code cache directory for apps." into lmp-dev 2014-07-16 16:25:13 +00:00
Jeff Sharkey
4ed745d359 Add code cache directory for apps.
This provides a directory where apps can cache compiled or optimized
code generated at runtime.  The platform will delete all files in
this location on both app and platform upgrade.

Bug: 16187224
Change-Id: I641b21d841c436247f35ff235317e3a4ba520441
2014-07-15 22:13:26 -07:00
Adam Connors
655be2a98e Revert "Remove enableSystemApp methods."
We need to go back to uninstalling system apps so we can
re-install non-default system applications through Play.

This reverts commit e3dbcd138c07f2d32ac84229d0a49052cc18d424.

Change-Id: I0a7af094614c4a10800971c82e10571f7312e079
2014-07-16 09:48:43 +00:00
Amith Yamasani
c8c8425b51 App restrictions schema and parser
Documented the restrictions schema in RestrictionsManager docs.
Added a parser to read the meta-data and XML file on the device.
Added more types and methods in RestrictionEntry to accomodate some
new types and construction modes.
Added a styleable for restriction attributes.

Slight tweak to permission response params.

Bug: 14582645
Change-Id: I193d1162741d110c100831cab33b48e2baf7426c
2014-07-15 17:16:54 -07:00
Fabrice Di Meglio
bd9152f6ee Update DatePicker widget and its related dialog
- the old DatePicker widget is still there for obvious layout compatibility reasons
- add a new delegate implementation for having a new UI
- use the new delegate only for the DatePickerDialog (which does not need to be
the same)
- added support for Theming and light/dark Themes
- added support for RTL
- added support for Accessibility
- verified support for Keyboard
- verified that CTS tests for DatePicker are passing (for both the legacy and the
new widgets)

Also added a new HapticFeedbackConstants.CALENDAR_DATE and its related code for
enabling day selection vibration

Change-Id: I256bd7c21edd8f3b910413ca15ce26d3a5ef7d9c
2014-07-15 20:26:21 +00:00
Chris Wren
015e922fa7 Merge "Implement application-level high priority bit." into lmp-dev 2014-07-15 16:05:17 +00:00
Chris Wren
54bbef435e Implement application-level high priority bit.
Enable checkbox in settings and wire it to NotificationManagerSerivce.
Add RankingHelper to collect ranking configs and logic.

Bug: 15080024
Change-Id: Ib1d3b0b5ca4fcfdc52c2cb6838a009b9addf1094
2014-07-15 15:04:29 -04:00
Craig Mautner
bb74246278 Launch activity behind launching task.
Use ActivityOptions.makeLaunchTaskBehindAnimation() to launch tasks
behind the current task. Includes animations for launching and
launched tasks.

Fixes bug 16157517.

Change-Id: I0a94af70b4748592e94673b958ee824cfb3d7ec0
2014-07-15 11:36:25 -07:00
George Mount
01e9a97fe6 Don't lose ActivityOptions during orientation change.
Bug 16188506

Change-Id: I056153e6ddbaf328dd65b8b27a91ae773c33ea22
2014-07-15 14:38:28 +00:00
Jeff Sharkey
69ea974f17 Merge "Public API for PackageInstaller!" into lmp-dev 2014-07-15 00:41:06 +00:00
Jeff Sharkey
6c833e07a0 Public API for PackageInstaller!
Flesh out documentation and finalize first cut of API.  Also surface
installLocation and splitNames through PackageInfo.

Bug: 14975160, 15348430
Change-Id: Ic27696d20ed06e508aa3526218e9cb20835af6a0
2014-07-14 23:06:52 -07:00
Santos Cordon
a5a2cf419d Merge "Implement multi-SIM capabilities (1/6) [DO NOT MERGE]" into lmp-dev 2014-07-14 18:38:02 +00:00