Merge commit '07ee3fdaea879fb568ab3263102766b46130ce56'
* commit '07ee3fdaea879fb568ab3263102766b46130ce56':
DO NOT MERGE. Already in master. Fix#1977876 : Key preview in WVGA broken.
Merge commit '4ca6659fe4c8299f886eba7f745bed509be8126b'
* commit '4ca6659fe4c8299f886eba7f745bed509be8126b':
Fixing bug 2003639 - this is a fix to prevent the AccessibilityManagerService
An issue with the density API is that bitmaps assumed the old default density,
so new programs would have to explicitly set the correct density for every bitmap
they create.
This is an attempt to fix that situation, by define the default density of bitmaps
to be the main screen's density, except for old apps where it is the original default
density.
Actually implementing this is not so great, though, because the Bitmap constructors
can't really know anything about who is calling them to know which density to use.
So at this level the compatibility mode is defined per-process -- meaning the initial
package loaded into a process defines the default bitmap density, and everyone else
loaded in later on has to live with that.
In practice this shouldn't be much of a problem, there shouldn't be much mixing of
old vs. new apps in a process. It does mean that, going forward, if a developer is
going to use shared user IDs for this, they will need to make sure either that all of
their apps are in the same compatibility mode, or that their code explicitly sets the
density of bitmaps it receives. This isn't all that great, but I think it is worth
the benefit of allowing people who write modern apps to not have to deal with bitmap
densities.
This change also does some cleanup of the density management (making sure to always
copy over bitmap densities, etc) and adds java docs to explain the various ways
density is set and used by the system.
+ Remove NormalProcessProxy and ProcessProxy as they are not used
anymore.
+ Rename AndroidServiceProxy to DaemonProxy and simplify its
implementation as it does not extend to ProcessProxy anymore.
+ Execute connect() in VpnService in one thread, which simplifies socket
and error handling.
+ Modify service subclasses accordingly.
+ Execute connect() and disconnect() in VpnServiceBinder so that the
operations do not block the UI thread. Mark service as foreground only upon
connecting.
Since the search UI is handled by the system process, and
the service calls to show and hide it are asynchronous,
the tests that checked the visibility of the search UI were
very flaky. This change sclaes the tests back to just check
that nothing crashes when showing and hiding the search UI.
Fixes http://b/issue?id=1993675
In case the cdma modem indicates unspecified error as a reason for a
dropped call, then the cause was wrongly being translated to NORMAL call in
DisconnectCause. This has been fixed to report ERROR_UNSPECIFIED as
DisconnectCause in Connection.java.
Books and web pages seem to prefer the requestWindowFeature method
over the android:theme, despite the advantages of the latter. This
may be because we mention requestWindowFeature but not android:theme
in our FAQ.
(Also add missing end tag to fix page rendering with Chrome.)
The platform now knows how to deal with a platform key, which at this
point is "just like end call, but don't end a call."
Also improve the handling of virtual keys, to allow for canceling when
sliding off into the display and providing haptic feedback.
Finally fixes a bug where the raw x and y in motion event were not
always set which caused the status bar to not work.
Recover the old logic before removing network management. Remove the empty
list for the host after consuming the last entry. As we should never have
an empty list, it is safe to call removeFirst without checking whether it is
empty.
Currently, in getRequest() or removeFrist(), if we found an empty list, we
remove it. Then we return null for the request even there are requests in
another list. So the page stops loading until the next getRequest() or
removeFirst() is called. If they are not called, those requests will never
be accessed.
Merge commit '11ea33471e1a14a8594f0b2cd012d86340dd3bd8'
* commit '11ea33471e1a14a8594f0b2cd012d86340dd3bd8':
Allow for screen density drawables in compatibility mode.
Merge commit '3b99e64e5899030b5d6f8201cb56cd149c80b24d'
* commit '3b99e64e5899030b5d6f8201cb56cd149c80b24d':
Per conversation, remove the toast while saving the Certificates to CertTools.
Merge commit '7c187de14f6b5ec6d90bc8e26265a2ca2824e39a'
* commit '7c187de14f6b5ec6d90bc8e26265a2ca2824e39a':
Make the DatePicker respect the date format setting if the date is numeric.
Merge commit '719eba5bb1fbc72e3b55450f16b38a6be5640055'
* commit '719eba5bb1fbc72e3b55450f16b38a6be5640055':
Change to SPKAC certificate request format for keygen.
Merge commit '0a4730f8889bd98e272bd5e7e0fedb6a69d33f54'
* commit '0a4730f8889bd98e272bd5e7e0fedb6a69d33f54':
add some more defensiveness to SuggestionsAdapter to avoid system process crashes.