30536 Commits

Author SHA1 Message Date
Dianne Hackborn
127c5ef5d7 Fix crash.
Change-Id: I0b5d846d5a9e6b1c7c3756b653833c263634270b
2013-07-18 16:51:04 -07:00
Dianne Hackborn
20bf1225ae Merge "Switch Bundle's implementation over to ArrayMap." 2013-07-18 18:23:09 +00:00
Dianne Hackborn
fbf4ce04f1 Merge "Mmmmmmm... lovely, lovely ArrayMap." 2013-07-18 18:22:41 +00:00
Dianne Hackborn
add005cf94 Mmmmmmm... lovely, lovely ArrayMap.
And ArraySet, too.

Change-Id: I72ea28cbb2286b01b6e1be082f8e7ec17e99074e
2013-07-18 11:18:25 -07:00
Dianne Hackborn
06f2122050 Merge "Make it safe to use start/stop app ops outside of system proc" 2013-07-18 18:12:50 +00:00
Dianne Hackborn
b87655b3e5 Switch Bundle's implementation over to ArrayMap.
That was...  um...  easier than I thought it was going to be.

Change-Id: Id8f2211c1d5f8145e0bb009dca0f62a590f2b860
2013-07-18 11:10:29 -07:00
Amith Yamasani
485d16f62f Merge "Ignore list item clicks if PreferenceActivity is paused." 2013-07-18 18:00:53 +00:00
Amith Yamasani
49bdc1681e Ignore list item clicks if PreferenceActivity is paused.
Since list item clicks are delivered asynchronously, it's possible to
get click callbacks after the activity has already paused.

This should actually be blocked further up the event chain, ideally,
so that the list selection state is not out of sync with the application.

Bug: 9752185
Change-Id: I1058d64cba98e9093b462e2e581bdbccdace1420
2013-07-18 09:57:43 -07:00
Elliott Hughes
5bc32b347f am 03a152d7: am 15cb526e: Merge "Fix import after okhttp update."
* commit '03a152d7e72f05456a463f2709ce787119e86f03':
  Fix import after okhttp update.
2013-07-18 09:43:04 -07:00
Elliott Hughes
03a152d7e7 am 15cb526e: Merge "Fix import after okhttp update."
* commit '15cb526ece1420b1ae2061e20fd0982d82b41aae':
  Fix import after okhttp update.
2013-07-18 09:36:48 -07:00
Narayan Kamath
c0bb16673e Fix import after okhttp update.
OkResponseCache moved packages in change
62321.

Change-Id: I2c08c4586405e767d1931ebc5f185c7916850fa1
2013-07-18 13:42:50 +01:00
Geremy Condra
3d2469d19d Merge "Move markSocketAsUser to the top of IConnectivityManager.aidl" 2013-07-18 02:16:35 +00:00
Dianne Hackborn
e98f5dbe6b Make it safe to use start/stop app ops outside of system proc
We now keep track of all of the active start operations per
non-system process, so they can be cleaned up if the process
goes away.

Change-Id: I9d05f1e0281c47dbe1213de014f0491f1359685c
2013-07-17 17:25:13 -07:00
Svetoslav
dc990e7c61 Merge "Tweak the print APIs." 2013-07-17 22:05:21 +00:00
Svetoslav
6283608e0b Tweak the print APIs.
1. Adding bundle with metadata to PrintDocumentAdapter#onLayout
   with one key for now to specify whether this is for a preview.

2. Cleaned up docs.

Change-Id: I89380781bf3ae41aa89f8a0347d74516a210394c
2013-07-17 14:55:15 -07:00
Chet Haase
7a46dde1ae Changed name of recent hasLayout() method to isLaidOut()
This new method on view reflects whether the view has been laid out
at least once since it was attached. hasLayout() seems too vague for that
meaning; every View that has a parent has a layout (since we use container,
parent, and layout interchangeably). The new version of the method
is closer to the actual meaning.

Change-Id: I519745739b6a6317faeb077aa61f994025cf81f3
2013-07-17 10:22:53 -07:00
Dianne Hackborn
4a8baef3f5 Merge "Make ArrayMap public! :)" 2013-07-17 00:53:33 +00:00
Adam Powell
f52ae147fb am 42658ed5: am 30ad7203: Merge "Consider mScrollX when drawing the checkMarkDrawable"
* commit '42658ed5182a75b82dd2b970a1f97fc30407d1e3':
  Consider mScrollX when drawing the checkMarkDrawable
2013-07-16 17:12:49 -07:00
Dianne Hackborn
3e82ba1a67 Make ArrayMap public! :)
Also do some tweaking of the various container classes
to synchronize them with the support lib and make it
easier to copy code between the two.

And update activity/fragment to use ArrayMap.

Change-Id: I3cfe82392a17119dfc72c3d9961f64e1914f42be
2013-07-16 17:08:04 -07:00
Adam Powell
42658ed518 am 30ad7203: Merge "Consider mScrollX when drawing the checkMarkDrawable"
* commit '30ad720304790b07112b87f973a7e6ed5e1e6ee5':
  Consider mScrollX when drawing the checkMarkDrawable
2013-07-16 17:06:36 -07:00
Adam Powell
30ad720304 Merge "Consider mScrollX when drawing the checkMarkDrawable" 2013-07-17 00:04:28 +00:00
Romain Guy
af093fd414 Merge "Skip unnecessary measurements when possible" 2013-07-16 23:37:29 +00:00
Romain Guy
93c567cddc Skip unnecessary measurements when possible
This change introduces a new measure cache to View, to remember
the measured dimensions for previous pairs of measure specs. The
measure cache is cleared whenever a View requests layout.

Unfortunately some Views rely on measure being always called when
layout is invoked. To work around this problem, we need to remember
when we hit the measure cache to force a call to measure just prior
to calling onLayout(). This does not completely removes all measure
calls but enough to optimize a number of layouts.

Change-Id: Ie085fbcf186e9d7505e1127e0786a12968ebc344
2013-07-16 16:25:09 -07:00
Romain Guy
775ffa78f3 Merge "Fix crashes in setMatrix() and concat()" 2013-07-16 22:27:04 +00:00
Chet Haase
4a83804ddf Merge "Fix issues with delayed transitions" 2013-07-16 22:20:24 +00:00
Chet Haase
c43524f386 Fix issues with delayed transitions
Previously, there were two distinct problems with how delayed
transitions were being run:
- there would be a delay between the transition being put into
a preDrawListener (to be kicked off when that listener fired) and
being removed from the pending list. This allowed another delayed
transition to be run in parallel, which would cause conflicting/
clobbering issues with transition values on the same objects.
- there would be an extra frame delay in some cases due to how/when the
delayed transition would be started. Specfically, we would postOnAnimation()
to call a method that would then add the onPreDraw listener. This two-step
forwarding caused issues noted above.

The fix is to simply add the transition to the preDrawListener immediately, removing
the two-step problem, and also ensuring that the transition is only removed
from the pending list when it is actually started, which prevents other transitions
from starting in the meantime.

Also, added more debug logging to help chase future issues with transitions.

Change-Id: Ie2ff8e73d29f342512842e9641bd8d605e74544c
2013-07-16 14:55:26 -07:00
Romain Guy
4e7b772b73 Fix crashes in setMatrix() and concat()
setMatrix() was crashing in native code, only with hw acceleration on.
concat() would throw a NullPointerException. It now ignores null matrices.

Change-Id: Iebd8b410a957d2ba501570c6fbb3f680ff4a1a23
2013-07-16 14:52:55 -07:00
Svetoslav
17b7f6e6d4 Clean up of the print APIs.
1. Fixed a case in which the onPrintCompleted callback may not be invoked.

2. Added string resulrces for the different error messages for failed
   printing in OnPrintCompletedCallback

3. Fixed the string comments for the MediaSize constants.

4. Added APIs to create certain print attributes by passing in a
   string label instead of resource and package name since in some cases
   a print service may be getting already internationalized lables
   or it may not know all possible values.

5. Fixed a crash in PrintJobConfigActivity if there is no input or
   output tray.

Change-Id: Ie877b7dc669051606394aa290e6d2b979a42db4c
2013-07-16 14:39:32 -07:00
Eino-Ville Talvala
29b173ae07 Merge "Camera2: Remove/@hide non-public keys." 2013-07-16 21:10:43 +00:00
Svetoslav Ganov
c59df3caeb Merge "Refactoring of the print sub-system and API clean up." 2013-07-16 20:01:34 +00:00
Svetoslav Ganov
a00271533f Refactoring of the print sub-system and API clean up.
1. Now a user state has ins own spooler since the spooler app is
   running per user. The user state registers an observer for the state
   of the spooler to get information needed to orchestrate unbinding
   from print serivces that have no work and eventually unbinding from
   the spooler when all no service has any work.

2. Abstracted a remote print service from the perspective of the system
   in a class that is transparently managing binding and unbinding to
   the remote instance.

3. Abstracted the remote print spooler to transparently manage binding
   and unbinding to the remote instance when there is work and when
   there is no work, respectively.

4. Cleaned up the print document adapter (ex-PrintAdapter) APIs to
   enable implementing the all callbacks on a thread of choice. If
   the document is really small, using the main thread makes sense.

   Now if an app that does not need the UI state to layout the printed
   content, it can schedule all the work for allocating resources, laying
   out, writing, and releasing resources on a dedicated thread.

5. Added info class for the printed document that is now propagated
   the the print services. A print service gets an instance of a
   new document class that encapsulates the document info and a method
   to access the document's data.

6. Added APIs for describing the type of a document to the new document
   info class. This allows a print service to do smarts based on the
   doc type. For now we have only photo and document types.

7. Renamed the systemReady method for system services that implement
   it with different semantics to systemRunning. Such methods assume
   the the service can run third-party code which is not the same as
   systemReady.

8. Cleaned up the print job configuration activity.

9. Sigh... code clean up here and there. Factoring out classes to
   improve readability.

Change-Id: I637ba28412793166cbf519273fdf022241159a92
2013-07-16 12:59:59 -07:00
Chad Brubaker
d1c87546b3 Move markSocketAsUser to the top of IConnectivityManager.aidl
Move markSocketAsUser to the top of IConnectivityManager.aidl to make
calls from
framework/native/services/connectivitymanager less fragile

Change-Id: Iba92c21dfef175b570521f34e7ee2732e5a0a9c9
2013-07-16 11:29:11 -07:00
Dianne Hackborn
cdae0f3c60 Merge "Switch proc stats to use new process state constants." 2013-07-16 18:15:09 +00:00
Eino-Ville Talvala
855ccce701 Camera2: Remove/@hide non-public keys.
Change-Id: I28fc5d6d41a444730061b6d2652f5cb75f97d56b
2013-07-16 11:13:12 -07:00
Alan Viverette
d91f8af40b Merge "Add disabled state to FastScroller." 2013-07-16 14:41:40 +00:00
John Spurlock
fe4fb365ba Merge "Un@hide View.PRESSED_STATE_SET." 2013-07-16 13:37:18 +00:00
Rom Lemarchand
0a880d0402 Merge "Increase swappiness of processes when memcgroups are enabled" 2013-07-16 02:32:13 +00:00
michaelwr
20555cb645 Merge "Add a keycode to switch audio tracks (1/2)" 2013-07-16 01:38:46 +00:00
Alan Viverette
447cdf2c06 Add disabled state to FastScroller.
BUG: 9759511
Change-Id: I555f501b33029665d94a493ee5cab5741c843328
2013-07-15 17:47:34 -07:00
Svetoslav
f9d73e6016 Merge "Fixing bugs discovered by the CTS tests." 2013-07-16 00:24:10 +00:00
Svetoslav
8d820ecffd Fixing bugs discovered by the CTS tests.
1. Delayed accessibility events sent when a view subtree changes may be
   be delivered after accessibility is disabled leading to a crash. It is
   possible that accessibility was disabled while we were waiting for
   the timeout before sending the event. Added a check before dispatching.

2. When refreshing a cached node the accessibility node info cache was
   not using the correct bypass cache argument value and as result was
   not getting the latest node but its cached value. We really want to
   get the latest state to update the cache.

3. The debugging cache integrity verification logic was incorrectly
   removing nodes from the cache while doing its work.

4. Removed the comments for some debug logging.

bug:9857067

Change-Id: I20ee1a6ffa65ad35457b51d3f2dc0bc5d8d784e6
2013-07-15 17:22:04 -07:00
Dianne Hackborn
c823051972 Switch proc stats to use new process state constants.
These new constants are a better mapping to the kind of
information that procstats is wanting to collect about
processes.  In doing this, the process states are tweaked
to have a bit more information that we care about for
procstats.

This changes the format of the data printed by procstats,
so the checkin version is bumped to 2.  The structure is
the same, however the codes for process states have all
changed.  The new codes are, in order of precedence:

p -- persistent system process.
t -- top activity; actually any visible activity.
f -- important foreground process (ime, wallpaper, etc).
b -- important background process
u -- performing backup operation.
w -- heavy-weight process (currently not used).
s -- background process running a service.
r -- process running a receiver.
h -- process hosting home/launcher app when not on top.
l -- process hosting the last app the user was in.
a -- cached process hosting a previous activity.
c -- cached process hosting a client activity.
e -- cached process that is empty.

In addition, we are now collecting uss along with pss
data for each process, so the pss checkin entries now
have three new values at the end of the min/avg/max uss
values of that process.

With this switch to using process state constants more
fundamentally, I realized that they could actually be
used by the core oom adj code to make it a lot cleaner.
So that change has been made, that code has changed quite
radically, and lost a lot of its secondary states and flags
that it used to use in its computation, now relying on
primarily the oom_adj and proc state values for the process.

This also cleaned up a few problems -- for example for
purposes of determing the memory level of the device, if a
long-running service dropped into the cached oom_adj level,
it would start being counted as a cached process and thus
make us think that the memory state is better than it is.
Now we do this based on the proc state, which always stays
as a service regardless of what is happening like this, giving
as a more consistent view of the memory state of the device.

Making proc state a more fundamentally part of the oom adj
computation means that the values can also be more carefully
tuned in semantic meaning so the value assigned to a process
doesn't tend to change unless the semantics of the process
has really significantly changed.

For example, a process will be assigned the service state
regardless of whether that services is executing operations
in the foreground, running normally, or has been dropped to
the lru list for pruning.  The top state is used for everything
related to activities visible to the user: when actually on
top, visible but not on top, currently pausing, etc.

There is a new Context.BIND_SHOWING_UI added for when system
services bind to apps, to explicitly indicate that the app
is showing UI for the system.  This gives us a better metric
to determine when it is showing UI, and thus when it needs
to do a memory trim when it is no longer in that state.  Without
this, services could get in bad states of continually trimming.

Finally, more HashSet containers have been changed to ArraySet,
reducing the temporary iterators created for iterating over
them.

Change-Id: I1724113f42abe7862e8aecb6faae5a7620245e89
2013-07-15 16:21:35 -07:00
Geremy Condra
c3bdf87505 Merge "Support routing sockets as another user" 2013-07-15 21:57:18 +00:00
Geremy Condra
045ad910b7 Merge changes Ia6646363,I94389b64
* changes:
  Add per user VPN support
  Add NetworkUtil function for marking sockets
2013-07-15 21:56:30 +00:00
Igor Murashkin
648e4fc7ad Merge "camera2: Implement CameraDevice#getCameraInfo" 2013-07-15 20:45:36 +00:00
Igor Murashkin
d7bf1778df camera2: Implement CameraDevice#getCameraInfo
Bug: 9529161
Change-Id: Ie37d1e07bb8416cbb141f4d49e52337bf7236610
2013-07-15 13:37:08 -07:00
Rom Lemarchand
5534ba91ac Increase swappiness of processes when memcgroups are enabled
When memcgroups are enabled, migrate heavier and lower priority processes
to the sw memcgroup.

Change-Id: Iba07a723037a599736ef23dea16a30a26634428a
2013-07-15 13:19:27 -07:00
Chad Brubaker
d475c70424 Support routing sockets as another user
Add support for routing sockets as if they were another user's.
This is for services that handle delegated network tasks like MediaServer and DownloadManager.

Change-Id: Id20efc1f5c2cce6f8838d777762f6c0a703a9437
2013-07-15 12:14:10 -07:00
John Spurlock
0a55c94730 Un@hide View.PRESSED_STATE_SET.
Looks like an oversight.  The other state sets are public, and we
reference this one in the public docs.

Change-Id: I1c2d8bec3cb277ebfb55ccaacefab0cb38703177
2013-07-15 12:18:04 -04:00
John Spurlock
6098c5d355 Docfixes in IBinder, Context, View, and Intent.
Fix links in @throws clauses, typos, redundant "returns"
and use @code for true + false in returns.

Change-Id: Ic3c4c75d6061732d997a386dc3232475c992c188
2013-07-15 12:08:21 -04:00