When a ListView has itemsCanFocus set, and scrolling moves the currently
focused item off the display, its focus is cleared. This is checked by
calling getDistanceToView().
However, it's possible that the view will have been recycled. If so, it
will have been detached from the parent by calling
ViewGroup.detachViewFromParent. Since this doesn't clear the view's
focus, we'll still try to call getDistanceFromView(), causing an
IllegalArgumentException since the view is not a descendant of the
ListView anymore.
Check whether the view is still a descendant before calling
getDistanceToView(). If it's not, we also need to clear the focus.
Bug: 4556022
Change-Id: Iebee56032223b70d714e2ec3bb7a19093ab5f81c
When the suggestions are displayed, the shortest one will be at the top of the list, as they are the most relevant one.
Bug: 5006130
Change-Id: Id3ac3accce5198a6a58a0c3028ee5f77957ceac6
Fixes problems introduced with bulk insert support
Bug: 5092877
Change-Id: If3c0c9054d5effe0a1d7a75e85635b41ba1591f5
Signed-off-by: Mike Lockwood <lockwood@android.com>
Provide API to increment "operation counts" for a UID and tag, used
to eventually derive bytes/operation stats. Internally is stored at
network layer, but should belong at data layer. Switch profiling
to use data layer stats, which are emulated by summarizing network
layer details.
Read packet counts from new /proc/ columns and collect them into
NetworkStatsHistory. Prevent double-counting by ignoring values from
first snapshot. Watch for duplicate /proc/ entries. Update tests
to verify packet and operation counters.
Bug: 5052136, 5097392
Change-Id: I1832f65a2b8a9188f8088f253474a667c21a2f09
1. Added population of sensible text for the state of the
two state controls such as CheckBox, Switch, etc. This
is important since if they are in a layout manager which
fires an accessibility event there should be a description
of the widget.
bug:5092552
Change-Id: Ie3ca955653563496b84db379ae23a23fe88089a8
- Improve how we handle processes that have shown UI, to take care
of more cases where we want to push them into the background LRU
list.
- New trim memory level for when an application that has done UI
is no longer visible to the user.
- Add APIs to get new trim memory callback.
- Add a host of new bind flags to tweak how the system will adjust
the OOM level of the target process.
Change-Id: I23ba354112f411a9f8773a67426b4dff85fa2439
Specifically, we now also require the current password to confirm any
restore operation.
Bug 4901637
Change-Id: I39ecce7837f70cd05778cb7e0e6390ad8f6fe3f3
Used to grab immutables but now will copy the data so the result
is mutable and we don't get crashes.
bug:5051667
Change-Id: I0878bf8c58069055f528121541d1911f404cbe49
if activity handles orientation change
Make sure that bar content height and sizing/layout parameters are
properly updated after a configuration change.
Change-Id: I886df5cd9a655ba1bd34fab2b48e8b5be67fcc32
If the user has supplied a backup password in Settings, that password
is validated during the full backup process and is used as an encryption
key for encoding the backed-up data itself. This is the fundamental
mechanism whereby users can secure their data even against malicious
parties getting physical unlocked access to their device.
Technically the user-supplied password is not used as the encryption
key for the backed-up data itself. What is actually done is that a
random key is generated to use as the raw encryption key. THAT key,
in turn, is encrypted with the user-supplied password (after random
salting and key expansion with PBKDF2). The encrypted master key
and a checksum are stored in the backup header. At restore time,
the user supplies their password, which allows the system to decrypt
the master key, which in turn allows the decryption of the backup
data itself.
The checksum is part of the archive in order to permit validation
of the user-supplied password. The checksum is the result of running
the user-supplied password through PBKDF2 with a randomly selected
salt. At restore time, the proposed password is run through PBKDF2
with the salt described by the archive header. If the result does
not match the archive's stated checksum, then the user has supplied
the wrong decryption password.
Also, suppress backup consideration for a few packages whose
data is either nonexistent or inapplicable across devices or
factory reset operations.
Bug 4901637
Change-Id: Id0cc9d0fdfc046602b129f273d48e23b7a14df36
BluetoothDevice setName overwrite the locally cached remote name.
The changed name is saved in the local storage so that the change
is preserved over power cycle.
bug 5081605
Change-Id: I486966033828d153bfb1076a99e274c8a7f41636
bug:5008210
Redraw the WebTextView when the page swaps (and thus the background is updated)
That way it updates at (approximately) the same time as the page. In software
rendering, do as before.
Depends on following external/webkit change:
https://android-git.corp.google.com/g/#change,124606
Change-Id: I59d7266a49d0ba734efdb88fef5fafe68aecfbce
Double tap and long press both start a text selection mode. The previous 'Paste'
popup window associated with insertion handle is now also used in selection mode.
It offers a new 'Replace' option that will popup the suggestion list.
The HC paste/side/nopaste layout are no longer used. For the new action popup
window, I also chose not to make the new background / text appearance styles
themable in order to avoid the same problem in case this design evolves again.
Known problems:
the popup is not moved when the TextView is scrolled.
the final visual style may change
the "ADD TO DICT" option is missing from the suggestion list
no interaction with the spell checker
- There are different bugs open for each of these
Change-Id: I167841f5ac017227fe4efa616eb935247250871a