Merge commit 'a34c9ca30ea25d0c4d8ae51da7858c4ea58b7f25' into gingerbread
* commit 'a34c9ca30ea25d0c4d8ae51da7858c4ea58b7f25':
Add more error checking for ndc
sJavaBridge may not exist by the time onWindowFocusChanged is called.
To avoid an NPE, just static methods that modify a global field.
JWebCoreJavaBridge is a global object anyway so using a static field
will be fine. To avoid any garbage collection issues, store the
WebView in a WeakReference.
Bug: 2894682
Change-Id: I73de9237ddbbdc55841a9b2639437e26856439c8
This depends on a kernel patch that implements read(2)
in the ashmem driver.
Bug http://b/issue?id=2595601
Change-Id: Ie3b10aa471aada21812b35e63954c1b2f0a7b042
In NativeDaemonConnector.doCommand() calls, there was inconsistent error
checking. This change adds error checking for every call and makes it so
that any call to .doCommand() that gets an error code won't cause the
code to hang forever.
Change-Id: If714282b6642f278fb8137f652af1a012670253b
The previous implementation fails to work properly when the .apk
and installed versions of the binaries have the same size and date.
Change-Id: I063817a935da9ad459858d7eec8bb3d940607850
Add framework dimension resource screen_margin_bottom. This describes
the bottom margin formed by permanent screen decorations. In xlarge
configs this is equal to the height of the permanent system bar.
PopupWindows now size and position themselves with respect to
screen_margin_bottom.
Change-Id: I8960059adcf09605abf26c228bf877f5632fd11e
When in a call, different audio modes need to be applied based on phone type.
(For example, SIP call needs to be in MODE_NORMAL while GSM call in MODE_IN_CALL.)
Originally, it's handled in PhoneUtils.setAudioMode(). It makes more sense now
to handle the actual logic in CallManager.
Change-Id: I58d8f31d6b4afe22f88da442daac2010781de801
Add Dialog#invalidateOptionsMenu so that dialogs hosting action bars
have a way to request a refresh of menu content.
Change-Id: I73aa22c2df1c5e60b94035e30af548f87073dbb9
-> Fixed a bug with multiple animations occuring at the same time
-> Added looping paramater to AdapterViewAnimator
-> Added restoration of state to AdapterViewAnimator
-> Fixed a flicker in the default AdapterViewAnimator transition
(could be seen in AdapterViewFlipper)
-> Fixed a bug where touch events of StackView weren't be
propagated to the proper child
Change-Id: I270280cabc42ad77d28e3e7d7d80aa4c17548cab
Previously, the input dispatcher assumed that the input channel's
receive pipe file descriptor was a sufficiently unique identifier for
looking up input channels in its various tables. However, it can happen
that an input channel is disposed and then a new input channel is
immediately created that reuses the same file descriptor. Ordinarily
this is not a problem, however there is a small opportunity for a race
to arise in InputQueue.
When InputQueue receives an input event from the dispatcher, it
generates a finishedToken that encodes the channel's receive pipe fd,
and a sequence number. The finishedToken is used by the ViewRoot
as a handle for the event so that it can tell the InputQueue when
the event has finished being processed.
Here is the race:
1. InputQueue receives an input event, assigns a new finishedToken.
2. ViewRoot begins processing the input event.
3. During processing, ViewRoot unregisters the InputChannel.
4. A new InputChannel is created and is registered with the Input Queue.
This InputChannel happens to have the same receive pipe fd as
the one previously registered.
5. ViewRoot tells the InputQueue that it has finished processing the
input event, passing along the original finishedToken.
6. InputQueue throws an exception because the finishedToken's receive
pipe fd is registered but the sequence number is incorrect so it
assumes that the client has called finish spuriously.
The fix is to include a unique connection id within the finishedToken so
that the InputQueue can accurately confirm that the token belongs to
the currently registered InputChannel rather than to an old one that
happened to have the same receive pipe fd. When it notices this, it
ignores the spurious finish.
I've also made a couple of other small changes to avoid similar races
elsewhere.
This patch set also includes a fix to synthesize a finished signal
when the input channel is unregistered on the client side to
help keep the server and client in sync.
Bug: 2834068
Change-Id: I1de34a36249ab74c359c2c67a57e333543400f7b
* Make Header fields public so activities can write them
* Recycle views properly
* Also made the HeaderAdapter and HeaderViewHolder static inner classes
for a little extra efficiency.
Change-Id: If0a9276e4609e2e8568c7c5a6963f3ed3e25565f
Add extension to WifiLock to allow apps to operate
in high performance mode (high power & disable suspend
optimizations for battery consumption).
Bug: 2834260
Change-Id: I8b33d307f3d569bc92ba2139b9ed224ffc147547