1. AccessibilityNodeInfo were not cloned when cached
and obtained from the cache. This was causing a
problem when the client calls #recycle() as he
should since this results in wiping the data of
the cached node info.
bug:6026952
Change-Id: I5807b09d95ef6f310327192ff91f036adf337e33
1. Before there were two caches one in the app process that
kept track only the ids of infos that were given to a
querying client and one in the querying client that
holds the infos. This design requires precise sync
between the caches. Doing that is somehow complicated
since the app has cache for each window and it has
to intercept all accessibility events from that window
to manage the cache. Each app has to have a cache for
each querying client. This approach would guarantee that
no infos are fetched twice but due to its stateful nature
and the two caches is tricky to implement and adds
unnecessary complexity. Now there is only one cache in
the client and the apps are stateless. The client is
passing flags to the app that are a clue what nodes to
prefetch. This approach may occasionally fetch a node
twice but it is considerably simpler and stateless
from the app perspective - there is only one cache.
Fetching a node more than once does not cause much
overhead compared to the IPC.
Change-Id: Ia02f6fe4f82cff9a9c2e21f4a36747de0f414c6f
Instead of treating a checked state change as a full data set change,
simply modify the checked or activated state of on-screen views.
Any resulting layout changes will be serviced as appropriate.
Change-Id: Ia846de16bbc54f0729608259aa4b530da9404245
1. For accessibility purposes View may report a virtual tree
rooted at them to convey the logical structure they draw.
These are usually custom Views. Such views cannot have
children and this patch adds a check for that.
bug:6022217
Change-Id: I3795a613b4aef1a7ec5810db8584a11b648870f2
All edit-specific data has been moved to an EditData inner class in TextView.
The instance of this class is created as soon as one of its fields is set to
a non-default value. Regular TextViews (buttons, checkboxes...) should never
have to instantiate the Editor, thus reducing their memory footprint.
Note: this is a debug version. The getEditor() method is here to track
possible problems and should be removed in the final version. Indentation
will be fixed then.
Next step is to extract more methods and classes into Editor and create a
dedicated class for it. mMovement may also be Editor specific.
Change-Id: Ic241953a2fb73213180f300c3609a9e6799aa884
Account for adapters that don't inflate item views using the ListView as
a parent.
Unify how AbsListView and subclasses generate layoutparams.
Change-Id: I963a5fcb4d98b721210a4d92d0db307f56acdf59
Bug 6017386
Focused rect in used in ViewRoot when a new view takes focus.
TextView bringPointIntoView defines an other rectangle as text is typed.
Make sure the latter is included in the former to avoid the jump when one
starts typing text.
Change-Id: I0177adc046c77a5fd9c1423c0069d5b9798dc0b9
Bug 5987568
Get the text type from webkit when initializing the field for
text entry and use that type to specify the IME input type
and options.
Webkit Change: I7eceafdbede8b7b463590a2e875a237241479ad1
Change-Id: Ic8c14687a70727148dfc8115c46f09530ca0c0f6
All future releases will use the Chromium HTTP stack and maintaining two HTTP
stacks adds maintenance overhead. The Chromium HTTP stack requires V8, but we
now use V8 in all build targets (b/5495373), so we can safely drop the Android
HTTP stack.
LoadListener, HttpAuthHandlerImpl, Network, SslErrorHandlerImpl, WebViewWorker
- Android-stack specific, removed
StreamLoader, FrameLoader
- Require LoadListener, removed
CacheLoader, ContentLoader, DataLoader, FileLoader
- Extend StreamLoader, removed
BrowserFrame
- Removed methods that create LoadListener
- BrowserFrame.startLoadingResource() is called from native
CallbackProxy, WebView
- Removed calls to Network methods
CacheManager, CookieManager, CookieSyncManager, WebViewCore, WebResourceResponse
- Removed other Android-stack specific code
JniUtlil
- Removed useChromiumHttpStack()
WebViewDatabase
- Removed all code to create cookies and cache databases for Android HTTP stack
See corresponding WebKit change https://android-git.corp.google.com/g/166327.
Bug: 5495616
Change-Id: If491675516f6eb187077af4220214bb6e6a8d045
ContactsAsyncHelper had been used by multiple projects, but now
only Phone app is using that. By moving the file to Phone package,
the entire PIM directory becomes unnecessary.
Bug: 5236130
Change-Id: I3daf087dbeb9059c2884dbf0e4d40d1508790aa3
1. UiTestAutomationBridge was accessing the root node in the
active window by tracking the accessibility event stream
and keeping the last active window changing event. Now
the bridge is stateless and the root node is fetched by
passing special window and view id with the request to
the system.
2. AccessibilityNodeInfos that are cached were not finished,
i.e. not sealed, causing exception when trying to access
their children or rpedecessors.
3. AccessibilityManagerService was not properly restoring its
state after the UI automation bridge disconnects from it.
I particular the devices was still in explore by touch mode
event if no services are enabled and the sutomation bridge
is disconnected.
4. ViewRootImpl for the focused window now fires accessibility
events when accessibility is enabled to allow accessibility
services to determine the current user location.
5. Several missing null checks in ViewRootImpl are fixed since
there were scenraios in which a NPE can occur.
6. Update the internal window content querying tests.
7. ViewRootImpl was firing one extra focus event.
bug:6009813
bug:6026952
Change-Id: Ib2e058d64538ecc268f9ef7a8f36ead047868a05