3150 Commits

Author SHA1 Message Date
Dianne Hackborn
e554cc9659 Merge "Implement some control over ALLOW_WHILE_IDLE alarms." into mnc-dev 2015-06-12 19:38:39 +00:00
Dianne Hackborn
3d1933c45f Implement some control over ALLOW_WHILE_IDLE alarms.
Since these alarms allow you to bypass the idle restrictions,
we don't want them to be so open-ended like other alarms.  This
implements a policy where the alarm manager will only deliver these
types of alarms every X minutes to each application.  For this
initial implementation, X is 1 minute under normal operation and
15 minutes when in idle mode.

To do this, I needed to introduce a new internal allow-while-idle
flag for system alarms, which applications can't get, and doesn't
have these new restrictions.

Also tweaked how the alarm manager handles the alarm window, so it
doesn't change if the alarm gets rescheduld; the window is now always
what as computed based on the time when the alarm was first
given to it.

Finally, fix TimeUtils to be able to correctly print times that
are > 999 days.

Change-Id: Ibad8c6a7c14b0624b54e82267be23224b4c31e84
2015-06-12 12:37:35 -07:00
Chris Wren
17de4b2a73 Merge "remove usage of deprecated method setLatestEventInfo" into mnc-dev 2015-06-12 19:28:54 +00:00
Chris Wren
1ce4b6d3c6 remove usage of deprecated method setLatestEventInfo
Bug: 18510449
Change-Id: I56a77991c729990e501f402e007dfa79ee57621e
2015-06-12 10:16:04 -04:00
Adam Lesinski
c8e8729244 UsageStats: Change INTERACTION to SYSTEM_INTERACTION
SYSTEM_INTERACTION events are signals to the system for a package's
implicit actions (service bound, etc).

These should not affect the API visible stats like lastTimeUsed, etc.
USER_INTERACTION is for user initiated actions (notification interaction, etc).

Bug:21761781
Change-Id: I4585cf35fbb158612a3c737710108bec34e89183
2015-06-11 22:01:45 +00:00
Dianne Hackborn
a3acdb33df Fix issue #21621920: VI: need mechanism to get current request
Add new APIs to associate a Request with a name, get all active
requests, and get active request by name.

Also add a new Activity.onProvideReferrer() which will allow
applications to propagate referrer information to the assistant
(and other apps they launch) in a consistent way.

Change-Id: I4ef74b5ed07447da9303a74a1bdf42e4966df363
2015-06-09 14:15:49 -07:00
James Cook
5ac36cea86 Merge "Use VoiceInteractor.Prompt in VoiceInteraction test app" into mnc-dev 2015-06-08 20:03:39 +00:00
Dianne Hackborn
54d729b73f Merge "Fix issue #21572679: API Review: ActivityOptions, usage time report" into mnc-dev 2015-06-08 19:46:24 +00:00
James Cook
dd231d466f Use VoiceInteractor.Prompt in VoiceInteraction test app
The framework API that takes a CharSequence as a prompt is now
deprecated, so update the test code to use the new API.

Bug: 21695917
Change-Id: Ic4b7afa6c547a9885a900ed092910f3c6bdd1dd4
2015-06-08 10:03:35 -07:00
Dianne Hackborn
67ba2c7fa2 Fix issue #21572679: API Review: ActivityOptions, usage time report
Change-Id: I62751e93e39f90d5d2ec725586880724f3edbbc7
2015-06-05 14:23:38 -07:00
ztenghui
83a52031fd Setup the animation callback for AnimatedVectorDrawable
b/21341096

Change-Id: I84e20366db21ceaa4f044be3e322f9215bb06ad2
2015-06-04 12:55:21 -07:00
Dianne Hackborn
b0a5e78fc0 Merge "More API changes." into mnc-dev 2015-06-04 16:56:52 +00:00
Dianne Hackborn
69c6adc96e More API changes.
Start moving Assist* stuff to android.app.assist.

Clean up some more of the VoiceInteractionSession APIs.

Clearly document that finish() is not the same as hide(),
always call hide() instead, and fix the finish() path to
also always do a hide to make sure everything is cleaned
up correctly.

Change-Id: I962d4069fcb34fe89547a95d395ae1b9fa3b4148
2015-06-02 16:56:41 -07:00
Jorim Jaggi
7d01d2c6cf Merge "Fix API review: Camera prewarm" into mnc-dev 2015-06-02 22:25:29 +00:00
Jorim Jaggi
d944986fbd Fix API review: Camera prewarm
Let the intent receiver of a camea launch intent declare a prewarm
service instead of sending broadcasts.

Bug: 21347653
Change-Id: I11e31aad4f788ad90eb46a661b819d3e808ddb51
2015-06-01 18:01:20 -07:00
Dianne Hackborn
9ed0c4109d Merge "Update VoiceInteractionService from API review." into mnc-dev 2015-06-01 22:28:45 +00:00
Dianne Hackborn
2ee5c368f8 Update VoiceInteractionService from API review.
This may even manage to retain compatibility with existing
binaries!  (For now.)

Change-Id: I3b1386287a6b9b20b57ac2e2444fd6f458837277
2015-06-01 11:42:04 -07:00
Andrew Flynn
b2c589c3f7 Change colors of AVD test
so you can actually see the animation rather than animating between
the same color.

Change-Id: Id32f6f5a22c000093fb9cbc1e9274eacbd183373
2015-06-01 09:27:38 -04:00
Chris Craik
1cd7e4c3d0 Merge "Use path intersection instead of saveLayer+mesh to mask projected ripples" into mnc-dev 2015-05-28 22:03:08 +00:00
Dianne Hackborn
4573dddcce Merge "Add new API to set URI on AssistContent." into mnc-dev 2015-05-28 21:35:41 +00:00
Guang Zhu
6ac0c8c5fa lock device orientation during app compatibility test
Devices on test benches are usually held sideways, which leads to app
rotation during launch. While it's useful to identify such issue from an
app perspective, the app compatibility test should be isolated from such
noise for the purpose of the testing for basic level of compatibility.

Change-Id: I403f96e5d8512ca6a17b05a83d69f4b02f760a32
2015-05-28 20:26:37 +00:00
Dianne Hackborn
09d57fe9b3 Add new API to set URI on AssistContent.
Also rework how we transfer AssistContent and AssistStructure
to the assistant, so they are delivered as completely separate
objects rather than the kludgy bundling them in the assist
data thing.

Change-Id: Ib40cc3b152bafeb358fd3adec564a7dda3a0dd1d
2015-05-28 11:44:58 -07:00
Tenghui Zhu
01d1acc3c7 Merge "AnimatedVectorDrawable Attr proof of concept" into mnc-dev 2015-05-27 20:33:49 +00:00
Guang Zhu
4f486ee696 don't report missing launch intent as failure
Some apks includes widgets and does not have a launchable
activity. The inclusion of such apk for launching is an issue
with test configuration, not test failure.

Also logging intent used for app package for debugging purpose.

Change-Id: Ibca05757a401ea036e9910d8580d7cafd356567c
2015-05-26 18:26:46 -07:00
Chris Craik
fca52b7583 Use path intersection instead of saveLayer+mesh to mask projected ripples
bug:14297149

SaveLayer's performance cost is high, and proportional to the surface
being projected onto. Since ripples (even unbounded ones) are now
always projected to the arbitrary background content behind them, this
cost is especially important to avoid.

This removes the last semi-secret, saveLayer from the projected
ripple implementation.

Also fixes the HW test app to correctly demonstrate this projection
masking behavior.

Additionaly, alters PathTessellator to gracefully handle
counter-clockwise paths, and simplifies the work done by
ShadowTessellator to ensure all of its paths are counterclockwise.

Change-Id: Ibe9e12812bd10a774e20b1d444a140c368cbba8c
2015-05-26 17:53:16 -07:00
Guang Zhu
9f521c9b17 update app compatibility post launch detection
decide if the app is still running after launch by checking
running tasks and look for a task with base activity belonging
to the package launched.

Change-Id: Ibb3894e765ccbca62f803decc3c1c1f36dc2d454
2015-05-25 12:10:36 -07:00
Dianne Hackborn
e5c4262109 Improve reporting to apps of transaction too large failures.
If the app tried to do various things with too much data --
starting an activity, starting a service, sending a broadcast --
this would fairly silently fail with little indication of what
was going on.  Fix this in two ways:

- Now when the native code generates a TransactionTooLargeException,
  it may include an additional message in it telling you how much
  data was in the parcel being sent, to help you understand why
  this happening.

- In all the framework code paths where we call to the system and
  may fail, convert these failures into a a runtime exception and
  rethrow them back to the app so that it will clearly get the
  above message.

Change-Id: I745159b97d3edb6fca86aa09cbc40c1f15a7d128
2015-05-21 18:19:50 -07:00
Dianne Hackborn
b5a380d409 Add API to track usage time of apps.
This adds a new ActivityOption for the caller to ask the
system to track the time the user is in the app it launches,
delivering the result when they are done.

The time interval tracked is from when the app launches the
activity until the user leaves that app's flow.  They are
considered to stay in the flow as long as new activities
are being launched or returned to from the original flow,
even if they cross package or task boundaries.  For example,
if the originator starts an activity to view an image, and
while there the user selects to share, which launches gmail
in a new task, and they complete the share, the time during
that entire operation will be included.

The user is considered to complete the operation once they
switch to another activity that is not part of the tracked
flow.  For example, use the notification shade, launcher, or
recents to launch or switch to another app.  Simply going
in to these navigation elements does not break the flow
(although the launcher and recents stops time tracking of
the session), it is the act of going somewhere else that
completes the tracking.

The data is delivered to the app through a PendingIntent,
which includes the total time the app was in the flow along
with a time break-down by app package.

Change-Id: If1cf8892d422c52ec5042eba0e15a8e7e8f83abf
2015-05-21 16:45:29 -07:00
Jean-Luc Brouillet
c19cdfa14d Clean RenderScript warnings
Change-Id: Ia7a98c1c977c839c74ae8081e70b5deb4b60c25d
2015-05-20 13:40:06 -07:00
Dan Sandler
dbd90f0329 Merge "Tests for Notification object construction and parceling." into mnc-dev 2015-05-12 18:51:09 +00:00
Craig Mautner
61e1e09a2b Change attribute values per API council.
lockTaskModeDefault => default
lockTaskModeNever => never
lockTaskModeIfWhitelisted => if_whitelisted
lockTaskModeAlways => always

Fixes bug 20642190.

Change-Id: I29cc546e12c330df9ec9af3cc91faf0d0f3df3b4
2015-05-12 10:26:13 -07:00
Dan Sandler
7edddb4961 Tests for Notification object construction and parceling.
The tests use the new hidden Parcel APIs (if available on
the running platform) to emit statistics about ashmem usage.

Bug: 20153922
Bug: 20079551
Change-Id: I400d2a932f297e582c335389570f93c0d4a19fc9
2015-05-11 23:32:08 -04:00
Andrew Flynn
12c137ff3f AnimatedVectorDrawable Attr proof of concept
This crashes while trying to run due to the '?attr/color1' reference inside
res/anim/blink.xml

Bug: 20817800
Change-Id: Ie3ea24ac9b22e69af152d6ffe87c8c953929299c
2015-05-11 13:36:42 -04:00
Guang Zhu
08cba16a59 Merge "allow top sleeping state in app process verification" into mnc-dev 2015-05-09 00:27:56 +00:00
Guang Zhu
765e00af5b allow top sleeping state in app process verification
This happens when an app is launched but has a dialog shown on
top of it. Typical reason is a licensing prompt of sorts.

Change-Id: Id73f45f54767b869873c62f13aeeb470c1a5cd81
2015-05-08 17:10:29 -07:00
Dianne Hackborn
ed9af066b2 Merge "Fix issue #20655182: API Review: ViewAssistStructure" into mnc-dev 2015-05-08 20:42:12 +00:00
Siva Velusamy
94a6d15ede Use new hierarchy viewer protocol in all View subclasses
A previous CL introduced a new way of encoding view properties for
use by heirarchy viewer. This CL updates all views using the old
@ExportedProperty annotation to use this new method. The older
mechanism will be removed in a subsequent CL.

Change-Id: I6cc23b90cd9da1c6ce89b4caffe54874db203452
2015-05-07 18:44:21 -07:00
Siva Velusamy
0d857b9028 Improve hierarchy viewer dump hierarchy latency
Hierarchy Viewer obtains the properties for each view by using
reflection and looking for fields and methods that have the
@ExportedProperty annotation. Using reflection made it quite slow
for large view hierarchies.

This CL adds a new method (encode) to each class that wishes to
export data to hiererachy viewer. Inside this method, the object
can write a sequence of key, value pairs corresponding to the
values it wants exported.

With this change, the dump hierarchy operation that used to take
more than 10 seconds can be performed in a few hundred milliseconds.

Change-Id: I199ac2e7ca3c59ebcfec7e6bd201e134c41fd583
2015-05-07 18:44:15 -07:00
Dianne Hackborn
49b043f37d Fix issue #20655182: API Review: ViewAssistStructure
Fix the various view assist related APIs.

Also remove the blockAssist view attribute, and instead use
the window's FLAG_SECURE to drive blocking of the entire
hierarchy (which is semantically correct, and will protect
existing apps that have already indicated they need it).

Change-Id: I6beebc86b202809cba0a356cae9607d8d0fb5e78
2015-05-07 16:30:52 -07:00
Guang Zhu
39fce1d226 Merge "improve app crash detection in compatibility test" into mnc-dev 2015-05-07 19:05:50 +00:00
Guang Zhu
34092cf80a improve app crash detection in compatibility test
In addition to ensuring that process exists, we also need to
check that it's the right state. Because crashed foreground
activity can still get started as background service.

Bug: 20899208
Change-Id: I101e556ce757af1afb66686827c5851dd6fda620
2015-05-07 11:48:33 -07:00
Jeff Brown
20db98c5d8 Remove incomplete media router API.
This time not also accidentally deleting frameworks/base/Android.mk.
*sigh*

Bug: 20641986
Change-Id: I2e43ab1fdf4201fec4d5a5b73c04f27a4a848630
2015-05-06 21:00:06 -07:00
Bart Sears
a8cc0584c6 Revert "Remove incomplete media router API."
This CL has broken all builds on mnc-dev.
Reverting until Jeff can take a look at it.

This reverts commit 2e5a2051de54e64612e1357d4534c7ec851aa508.

Change-Id: Ib9b3569bfebdc7bbfbcb7aee82733b93736c5bb5
2015-05-07 03:23:20 +00:00
Jeff Brown
2e5a2051de Remove incomplete media router API.
Bug: 20641986
Change-Id: I310fadafb5a6b8190a32e5d87f3e1823c87bcef7
2015-05-06 19:54:46 -07:00
Selim Cinek
e9194b98a2 Merge "Extended test to support launching assist above lock screen" into mnc-dev 2015-05-05 23:53:23 +00:00
Selim Cinek
704b9f82c3 Extended test to support launching assist above lock screen
Change-Id: Ic65e638eed214a240cc13666f857e9b297f28168
2015-05-05 14:53:08 -07:00
Maxim Siniavine
58a20d19f5 Update permissions on memory usage instrumentation
Change-Id: I0c2bbd893252eb1dc3cf8b93b787efd772317216
2015-05-05 12:00:24 -07:00
Svet Ganov
574f53793d Merge "Add body sensors app op - framework base" into mnc-dev 2015-05-01 23:09:52 +00:00
Chris Craik
31a2d063df Revert "Revert "Merge getDisplayList and updateDisplayListIfDirty""
Fixes breakage from HwAccelerationTest

This reverts commit b2847afde24aac22c8fb804cdce0c24b8a7c40c4.

Change-Id: I762b3c9020fc1d06bac61ffa8b956049147515b1
2015-05-01 14:30:15 -07:00
Svet Ganov
b9d71a6f89 Add body sensors app op - framework base
Change-Id: Idd5cd573fab3405e5b2a6e51d2d9d115650826e9
2015-05-01 13:56:04 -07:00