When the focused node is a textfield, but the WebView has focus
(for example if the page had an initial focus) and the cursor
is not over a plugin or textfield, rebuild the WebTextView
to handle the keys. Also, remove mScrollToAccommodateCursor,
since now the WebTextView is only showing when we want to
scroll.
Merge commit '3a608f829b54a7653c9cc2b3bdbda0641cca37bb'
* commit '3a608f829b54a7653c9cc2b3bdbda0641cca37bb':
Fixes#1940605. MeasureSpec's mode and height were inverted in RelativeLayout.
DateUtils.formatDateRange is using String.format which isn't efficient for
formatting large number of strings. I have added the Formatter parameter which
allows the caller to reuse the formatter of subsequent calls for faster
performance.
Longpressing on a WebView while the WebTextView is up calls
WebTextView::performLongPress(). This used to be fine, but now
we may still leave the WebTextView up while the user is longpressing
on something else. Check to ensure that the focus is the same
as the cursor before calling WebTextView's version. Also,
send a click if the user longpresses on a different WebTextView,
so it will now behave appropriately. Requires a change in
external/webkit.
Also remove a duplicate check for inEditingMode().
When the WebView loses WindowFocus, we stop drawing the
selection. We need to resume drawing it, especially for
the context menu, which steals WindowFocus. Corresponds
to a change in Webkit.
Merge commit '9171749700853305f3e6abbcdbd9e02f3a71d459'
* commit '9171749700853305f3e6abbcdbd9e02f3a71d459':
Use system properties to track the current transport
Merge commit '05ebcb5172679a6c196cbf23d7174c04dd9f6ae0'
* commit '05ebcb5172679a6c196cbf23d7174c04dd9f6ae0':
Update spinner's drawables. Clean up resources, pave the way for new animation.
Merge commit 'fbd8f69a84163ef1cf52b07966320caf448c2bc9'
* commit 'fbd8f69a84163ef1cf52b07966320caf448c2bc9':
Fixes#1946141. Introduce new caching API to control scaling.
Merge commit 'a1590586e4c02e50d14cc99018be2c419f5a07b9'
* commit 'a1590586e4c02e50d14cc99018be2c419f5a07b9':
Add new EXTRA_POST_DATA extra key for use in VIEW intents to Browser.
Merge commit '3059924953dafdd94dce65d8be42e98fcde305b8'
* commit '3059924953dafdd94dce65d8be42e98fcde305b8':
Adding implementation of IPA to the TextToSpeech.java
Merge commit '3a15fbd7df56e44060c78d7832fbea895ceb9bbf'
* commit '3a15fbd7df56e44060c78d7832fbea895ceb9bbf':
Add a null check in an AutoCompleteTextView callback to prevent a crash.
Merge commit 'ec0cf8bc874f53cfc7256628f0ec56657ac92073'
* commit 'ec0cf8bc874f53cfc7256628f0ec56657ac92073':
Adding in the playSilence method to TextToSpeech.java
Merge commit '17a80081a42410f541a220ab7e6afc64fc6cc399'
* commit '17a80081a42410f541a220ab7e6afc64fc6cc399':
Pipe all the camera callbacks to Java to facilitate the addition
Merge commit '72eb0acad5cffc57ce5006f6deab29ee259e461e'
* commit '72eb0acad5cffc57ce5006f6deab29ee259e461e':
Expand support for different screen sizes.
Merge commit '040441fa992bcfc11070d559bfceeb039667b382'
* commit '040441fa992bcfc11070d559bfceeb039667b382':
Tweak the core and maximum pool sizes for AsyncTask.
Merge commit '8a27f923eb9dbbe3c2d0184e82d9f1a98f1e4cdc'
* commit '8a27f923eb9dbbe3c2d0184e82d9f1a98f1e4cdc':
Don't crash in various ways when using backup services too early
Merge commit '56bc71565ecd72bf7a3e45b5c871b0407ed9f781'
* commit '56bc71565ecd72bf7a3e45b5c871b0407ed9f781':
Add a test for SharedPreferencesBackupHelper
Backup & restore is still enabled by default, but with the expectation that it
will be enabled during the course of the Setup Wizard or some other privileged
entity that has notified the user about the ramifications. While disabled,
data-changed notices will still be collected, but no backup pass will be
scheduled. When the backup manager is later enabled, any pending data-changed
notices will then be processed and the apps invoked for backup.
There is a compatibility issue with the cupcake IME where the generic
input connection would just consume actions. Late in cupcake this
stuff was reworked so that the IME would send an action command
to the app instead of an enter key event, and the compatibility code
got lost.
1. Fix and remove CodeDuplication TODO
2. Fix crash while unpairing.
3. For array properties, make it a bit more efficient by passing,
lesser String objects from JNI.
4. Remove void pointer usage and use union to make code more readble.
We already remove the blinking caret, implying that if the user
types with the cursor on another textfield, the keys will go there.
This way, the WebView will see the key, and rebuild the WebTextView,
so we no longer use the data from the first textfield. This fixes
a bug where moving from a focused textfield and pressing delete
with the cursor on another was deleting a character from the
first (initially focused) textfield. Also, in WebView::onKeyDown,
only check if the native cursor is a textfield before deciding
whether to send a CLICK, since plugins will be handled differently
(this is part of a different change), and now the cursor may match
the focus, but we still want the click (to make the focusController
active - i.e. make the cursor blink).
This change retools the transport selection mechanism a fair bit. Transports
are now specified by name rather than by numeric ID, and the name of the
currently selected transport is stored in a persistent system property under the
name "persist.service.bkup.trans".
The name -> IBackupTransport translation is now handled by maintaining a map
from the names to the live IBackupTransport objects that correspond. The Google
transport service observer now registers and unregisters the transport as the
service goes up and down.
The bmgr command has been expanded to include real transport interrogation and
selection by name, and some documentation has been written for it.