Commit Graph

31756 Commits

Author SHA1 Message Date
Svetoslav
c0e1ae0176 am facc08c7: Merge "Move PdfDocument to android.graphics.pdf" into klp-dev
* commit 'facc08c7757cef56da6d10e78ce99ef7949700e3':
  Move PdfDocument to android.graphics.pdf
2013-09-19 18:17:05 -07:00
Svetoslav
facc08c775 Merge "Move PdfDocument to android.graphics.pdf" into klp-dev 2013-09-20 01:14:02 +00:00
Svetoslav
6811f4e92c Move PdfDocument to android.graphics.pdf
1. Move PdfDocument to android.graphics.pdf.

2. Changed the PdfDocument as per API concil request.

3. Updated the documentation.

bug:10461180
bug:10552565
bug:10681585
bug:10552336

Change-Id: I08e15b34cf37bb064248c887e6f59808019cafe8
2013-09-19 17:12:47 -07:00
Dianne Hackborn
20021b300f am 70817c47: Merge "Implement issue #10691475: Kill cached processes if about to..." into klp-dev
* commit '70817c479aa05778733d9afc809c311e8030b000':
  Implement issue #10691475: Kill cached processes if about to...
2013-09-19 14:49:35 -07:00
Dianne Hackborn
3bc8f78d7a Implement issue #10691475: Kill cached processes if about to...
...be uncached and too large

When the device is in a low RAM state, when we go to pull a cached
process out to use for some background operation, we can now kill
the current process if we consider its size to be too large.

Note that the current implementation for killing processes is to
just use the same killUnneededProcessLocked() method that we already
have for other things like too many cached processes.  This is a
little wrong here, though, because in this case we are at the
point where the caller is actually looking for a process to use.
This current code is not actually removing or cleaning up the
process, so we still need to return the now killed ProcessRecord
and let things fall out from there, which typically means the caller
trying to make an IPC on it and failing and falling into its "oh
no the process died unexpectedly" path.  All code using this
*should* be able to handle this correctly, anyway, since processes
really can be killed at any time.

At some point we may to make this implementation cleaner, where it
actually tears down the process right in the call and returns a
null ProcessRecord.  That is very dangerous however (we'd need to
go through all paths into this to make sure they are going to be
okay with process state changing on them like that), and I'm not
sure it is really worthwhile.  This intention is that killing
processes like this is unusual, due to processes being too large,
and anyway as I wrote all of our incoming code paths must already
be able to handle the process being killed at this point and one
could argue this is just another way to excercise those code paths.
Really, the main negative to this is that we will often have spam
in the log with exceptions about processes dying unexpectedly.
If that is the only issue, we could just add some conditions to
quiet that up at in this case.

We don't want to compute the size of the process each time we try
to evaluate it here (it takes 10s or ms to do so), so there is now
a new field associated with the process to give us the last pss
size we computed for it while it was in the cached state.

To be able to have better cached pss data when we now need it, the
timing for computing process pss has been tuned to use a much
shorter delay for the situations when the process has first switch
into a new state.  This may result in us having a fair amount more
pss data overall, which is good, as long as it doesn't cause us to
be computing pss excessively and burning cpu.

Procstats now also has new state to keep track of the number of
times each process has been killed by this new system, along with
the min, avg, max pss of all the times it has happened.  This has
slightly changed the checkin format to include this additional data
at the end of pkgkills/prockills lines.

Other changes here:

- Fixed a problem where GPU RAM was not being seen when dumping
  the full RAM details of a process.  This was because in that
  case the system would ask the process to compute its own MemInfo,
  which it returned, but the process doesn't have permission to
  access the files containing the GPU RAM data.  So now the system
  always computes the MemInfo and hands it to the app.

- Improved broadcast delays to not apply the delay if the next receiver
  of the broadcast is going to run in the same process as the last
  one.  A situation I was seeing was an application that had two
  receivers, one of which started a service; we are better off letting
  the second receiver run while the service is running.

- Changed the alarm manager's TIME_TICK broadcast to be a foreground
  broadcast.  This really should have been anyway (it is supposed to
  go out even minute, on the minute, very accurately, for UI elements
  to update), and is even more important now that we are doing more
  things to delay background broadcasts.

- Reworked how we maintain the LRU process list.  It is now divided
  into the two parts, the top always containing the processes holding
  activities.  This better matches the semantics we want (always try
  to keep those around modulated by the LRU order we interleave with
  other cached processes), and we now know whether a process is being
  moved on the LRU list because of an activity operation so we can
  only change the order of these activity processes when user operations
  happen.  Further, this just makes that common code path a lot simpler
  and gets rid of all the old complexity that doesn't make sense any
  more.

Change-Id: I04933ec3931b96db70b2b6ac109c071698e124eb
2013-09-19 14:35:53 -07:00
Craig Mautner
cd569b31d3 am e8a94224: Merge "Return tasks in correct order." into klp-dev
* commit 'e8a9422495d6af9fc68cf4e838a4a5f19177034b':
  Return tasks in correct order.
2013-09-19 13:05:43 -07:00
Craig Mautner
e8a9422495 Merge "Return tasks in correct order." into klp-dev 2013-09-19 20:03:24 +00:00
Christopher Tate
654aad2160 am 9c5cc571: Merge "Support for "not the home app you\'re looking for" metadata" into klp-dev
* commit '9c5cc571e5abf97a816fea2b04cd1e711e83564c':
  Support for "not the home app you're looking for" metadata
2013-09-19 12:48:19 -07:00
Christopher Tate
9c5cc571e5 Merge "Support for "not the home app you're looking for" metadata" into klp-dev 2013-09-19 19:46:20 +00:00
Christopher Tate
bd413f6c05 Support for "not the home app you're looking for" metadata
* Make sure that pm.getHomeActivities() returns the activity metadata
  as well, so that the caller can trace the reference

* Add a public canonical name for that metadata key

Bug 10749961

Change-Id: Ic4d0750d61001ffe5af180398f042afa30eea1ce
2013-09-19 12:31:49 -07:00
Craig Mautner
c0fd805234 Return tasks in correct order.
Fixed ActivityManager.getRunningTasks().

Fixes bug 10705790.

Change-Id: Ia3f66e592e08a87896a1ab59f980618ec5310dfe
2013-09-19 11:20:17 -07:00
Svetoslav
db7659e0d3 am 81d4014c: Hiding a method that was never meant to be public.
* commit '81d4014c59d2c6cf23b0465e9b8c94b6bfe428e2':
  Hiding a method that was never meant to be public.
2013-09-19 10:27:59 -07:00
Svetoslav
81d4014c59 Hiding a method that was never meant to be public.
The hide javadoc annotation had a type, thus leaking the API.

bug:10552358

Change-Id: Iec4e203d0786efbe6afbd9b6995f11642935336c
2013-09-19 10:09:49 -07:00
Amith Yamasani
2f9fd33fd9 am e8c01ddb: Merge "Changes to PFD based on API review" into klp-dev
* commit 'e8c01ddbe748490463f7f516df9b1b4784228913':
  Changes to PFD based on API review
2013-09-18 16:45:32 -07:00
Amith Yamasani
e8c01ddbe7 Merge "Changes to PFD based on API review" into klp-dev 2013-09-18 23:43:11 +00:00
Alan Viverette
8ac0d137ba am 564c45b9: Merge "Fix number picker vertical scroll computations" into klp-dev
* commit '564c45b976b56bc33f18271e1c813a0bd91b2eb4':
  Fix number picker vertical scroll computations
2013-09-18 16:38:55 -07:00
Amith Yamasani
b433bb8c96 Changes to PFD based on API review
Removed boolean param to ask for exception on detached fd. Use a
subclass of IOException instead.

Bug: 10461576
Change-Id: If7db16120297edcdb7d5d5905ed453003be0e38e
2013-09-18 16:35:05 -07:00
Alan Viverette
564c45b976 Merge "Fix number picker vertical scroll computations" into klp-dev 2013-09-18 23:35:02 +00:00
Svetoslav
6d0db04bed am 7b3990ec: Merge "Update the print dialog." into klp-dev
* commit '7b3990ec81fc218f655d44624758e15ce378968e':
  Update the print dialog.
2013-09-18 14:12:58 -07:00
Svetoslav
7b3990ec81 Merge "Update the print dialog." into klp-dev 2013-09-18 21:08:49 +00:00
Raph Levien
954f0d7b77 am ba1abbba: Merge "Revert "Revert "Take the input device into account for meta state""" into klp-dev
* commit 'ba1abbba1f140f4be5956ade8ffd4ef4b3f9ffe0':
  Revert "Revert "Take the input device into account for meta state""
2013-09-18 13:42:41 -07:00
Raph Levien
ba1abbba1f Merge "Revert "Revert "Take the input device into account for meta state""" into klp-dev 2013-09-18 20:40:26 +00:00
Dianne Hackborn
1995a7de5b am b9466db4: Merge "Finish issue #10779747: Calendar Storage crash observed..." into klp-dev
* commit 'b9466db4a56564101a26865962dda87aaeab56ff':
  Finish issue #10779747: Calendar Storage crash observed...
2013-09-18 13:37:02 -07:00
Dianne Hackborn
b9466db4a5 Merge "Finish issue #10779747: Calendar Storage crash observed..." into klp-dev 2013-09-18 20:34:11 +00:00
Jonathan Dixon
515134e88c am c7969dea: Merge "Fix obsolete API reference" into klp-dev
* commit 'c7969dea24f2e362f69fb2b912c8a0385f5dc617':
  Fix obsolete API reference
2013-09-18 13:10:15 -07:00
Jonathan Dixon
c7969dea24 Merge "Fix obsolete API reference" into klp-dev 2013-09-18 20:06:20 +00:00
Raph Levien
14f10e5d5f Revert "Revert "Take the input device into account for meta state""
This reverts commit 3954fd9a05, which
is equivalent to re-applying 8a1597b396.

The change ("Take the input device into account for meta state") was
valid but caused CTS test failures because the test was wrong. The
test injected a key event with the meta state missing. This faulty
test was masked by the old toggle behavior.
2013-09-18 13:01:11 -07:00
Jonathan Dixon
df3859ebeb Fix obsolete API reference
Bug 10361803

exportToPdf use-case not supported in K so removing that dangling
reference from the javadoc

Change-Id: Ia0fe3aa9ed5150639d1f72341c89568a0a7e1c7d
2013-09-18 12:51:47 -07:00
Raph Levien
21b0c88b3c am c540f8e9: Merge "Revert "Take the input device into account for meta state"" into klp-dev
* commit 'c540f8e9d704414a06f7a5b4ade1c713042f8c38':
  Revert "Take the input device into account for meta state"
2013-09-18 12:46:57 -07:00
Raph Levien
c540f8e9d7 Merge "Revert "Take the input device into account for meta state"" into klp-dev 2013-09-18 19:44:16 +00:00
Svetoslav
013b816ac7 Update the print dialog.
1. The print dialog was resizable and as a result when printers
   come and go its size changes which looks bad. The dialog is
   now trying to be maximally large limited by a max size or the
   screen - whichever is smaller. This required moving from
   GridLayout to several LinearLayouts since the former does not
   support distribution of empty space evently between the items
   in a row. Also we want all items in a column of inputs to be
   of equal size (the spinners specifically).

2. Added labeledBy attribute to associate a view with another one
   that serves as its label for accessibility purposes. We have
   lebelFor attribute but it is not useful in most layout files
   since it has to refer the auto-generated id of a view which
   usually appears later in the layout file, thus generating a
   compilation error. This was needed for the accessibility support
   of the print dialog.

bug:10631660

2. Disabling the spinners or the print button did not produce
   visual feedback leading to user frustration.

bug:10741907

Change-Id: I0c12eddabc4035bc7becd1b86c1f1b8fdcf4289c
2013-09-18 12:31:26 -07:00
Jonathan Dixon
b7bdf38bf1 am 01fc0884: Merge "Update APIs for the Chromium WebView" into klp-dev
* commit '01fc088462d05478bcdf416fb02532d53e85dd6a':
  Update APIs for the Chromium WebView
2013-09-18 12:17:58 -07:00
Jonathan Dixon
01fc088462 Merge "Update APIs for the Chromium WebView" into klp-dev 2013-09-18 19:14:09 +00:00
Dianne Hackborn
6285a32f74 Finish issue #10779747: Calendar Storage crash observed...
...while setting up a new user from settings.

We can now delay broadcasts when there are enough background services
currently starting (still set to 1 for svelte devices, 3 for normal
devices).

Add new intent flag to not allow receivers to abort broadcasts, which
I use to fix an issue with the initial BOOT_COMPLETED broadcast not
actually requesting pss data at the right time -- it can now be sent
as an ordered broadcast without the ability for the receivers to cancel
it.

Change-Id: I51155bbbabe23e187003f3e2abd7b754e55d3c95
2013-09-18 12:09:47 -07:00
Alan Viverette
fd63917ed3 Fix number picker vertical scroll computations
BUG: 8692209
Change-Id: I332d3f1c00e1aacad11f8af172974741b28843ea
2013-09-18 11:20:38 -07:00
Raph Levien
3954fd9a05 Revert "Take the input device into account for meta state"
This reverts commit 8a1597b396. That
commit broke some of the handling of meta state, which in turn caused
CTS test failures, notably bug 10210151 (CTS:
android.text.method.cts.BaseKeyListenerTest#testBackspace_withSendKeys
is failing on KLP).

So this revert fixes those test failures, but leaves bug 8303489
(Pressing shift on the hardware keyboard messes with unrelated
keypresses, including virtual ones) still present. We'll plan to
address that in a future release.

Change-Id: Iea42c643b6d08f33cbd2ed1747e8de3b5f8116a6
2013-09-18 11:03:02 -07:00
Amith Yamasani
a8b4da872a am 840b3bd6: Merge "Fix provider leak in PFD" into klp-dev
* commit '840b3bd61185456ccb574c2be115ea78ec418327':
  Fix provider leak in PFD
2013-09-18 11:02:59 -07:00
Amith Yamasani
840b3bd611 Merge "Fix provider leak in PFD" into klp-dev 2013-09-18 18:01:21 +00:00
Martijn Coenen
71e3aa2c6c am 807fd044: Merge "Validate AID format and length." into klp-dev
* commit '807fd0443564850bc69f229a282cbba990e1b656':
  Validate AID format and length.
2013-09-18 10:59:20 -07:00
Martijn Coenen
807fd04435 Merge "Validate AID format and length." into klp-dev 2013-09-18 17:56:03 +00:00
Chet Haase
c8bcf4f21a am d73d34c8: Merge "Use transition-only alpha property for fading transitions" into klp-dev
* commit 'd73d34c873dbf409af3cf6ecbf27cb2be3953b4f':
  Use transition-only alpha property for fading transitions
2013-09-18 10:55:46 -07:00
Chet Haase
07861ea82b am 4fa809fe: Merge "Fix leak fix in ViewTreeObserver" into klp-dev
* commit '4fa809fe74635720528ab46cff7d2ba0d0aebd8a':
  Fix leak fix in ViewTreeObserver
2013-09-18 10:52:11 -07:00
Chet Haase
d73d34c873 Merge "Use transition-only alpha property for fading transitions" into klp-dev 2013-09-18 17:51:34 +00:00
Chet Haase
4fa809fe74 Merge "Fix leak fix in ViewTreeObserver" into klp-dev 2013-09-18 17:48:38 +00:00
Amith Yamasani
487c11a310 Fix provider leak in PFD
Code path to release content provider associated with the PFD was
inadvertently bypassed by a previous change. Reinstate that code
when closing the PFD.

Bug: 10767447
Change-Id: I23306cfb3c28c99e587892b17ca85efd3f7a8a07
2013-09-18 09:30:43 -07:00
Chet Haase
c46181a963 Use transition-only alpha property for fading transitions
The original bug is fixed already, but showed up some problems in
the underlying fade-transition implementation. This fix addresses
those and other issues. The biggest part of the change should help
transition robustness in general, as it removes the dependency on the
public 'alpha' property of views and uses, instead, a new hidden property
on views called 'transitionAlpha'. This is a value which is normally
opaque (1), but which can be used by transitions (only) to animate the
translucency of views without disturbing the actual 'alpha' value which
might be manipulated outside of transitions. This should make transitions
much more robust in general.

In implementing and testing this overall fix, I noticed a couple of things
about transitions that were simply wrong (such as starting fades from the
wrong start value, and incorrectly avoiding transitions on some views
that didn't happen to have ids), and those are fixed in this CL as well.

Issue #10726905 ActionBar weirdness in People app
Issue #10727937 Menu items in gallery appear in faded color after selecting an image/album by long press

Change-Id: If1618446db10c1bfcff4761449241de4f559afc1
2013-09-18 08:55:47 -07:00
Chet Haase
fc343967c8 Fix leak fix in ViewTreeObserver
The leak fix of the CopyOnWriteArray in ViewTreeObserver was
too aggressive, always clearing the shadow copy when it should only
have cleared it when needed. The way it works now, we will always
clear the listeners for ViewTreeObserver after the listeners
are processed.

Issue #10815924 ViewTreeObserver leak fix too aggressive

Change-Id: Iff0095d73beb38e52b0a5ae6b6378afec4458fd3
2013-09-18 08:44:33 -07:00
Martijn Coenen
fca3578773 Validate AID format and length.
Bug: 10817001
Change-Id: I7cb0d4f718c467d2fccb30068f383f8e71a4a39b
2013-09-18 17:26:18 +02:00
Alan Viverette
56a87f8c07 am c255a711: Merge "Ensure WeeksAdapter calls notifyDataSetChanged when needed" into klp-dev
* commit 'c255a7113a6a6b058f1b3b5b128fba1d24bbd3d9':
  Ensure WeeksAdapter calls notifyDataSetChanged when needed
2013-09-17 23:05:55 -07:00
Alan Viverette
c255a7113a Merge "Ensure WeeksAdapter calls notifyDataSetChanged when needed" into klp-dev 2013-09-18 06:03:34 +00:00