Compute whether the initial tap point is in
a scrollable layer or not. If it is, get
the bounds of the scrollable layer and use them,
clipped to the view, to determine when the
select anchor is dragged close to the layer's
edge, to invoke autoscrolling.
Fix some bugs around stopping the autoscrolling
when there is nothing to do, and when a motion
up event is sent.
requires companion change in external/webkit
bug:3191699
Change-Id: Ic9229b063a8102ec93d0cd5bcaba774cc170c106
The finalize() call did not clean up completely, this eventually
caused the android.process.acore to crash since it ran out of fds
and GREF to increased above 2000 if an application forgot to close
its cursor objects. A warning was also added when this happens so
that application developers can correct their mistake. The
included test case tries to verify that the finalizer works as
expected by creating a bunch of Cursor objects without closing
them (without this fix the acore process crashes after about 400
iterations and the test case ends with "Process crashed").
Change-Id: I11e485cef1ac02e718b2742108aa88793666c31d
In the LengthFilter make sure that we do not cut the
string so a last emoji character gets broken and replaced
by some garbage character.
We need to check if the last char is the high surrogate and
if so drop the high surrogate also.
Change-Id: I210e7e41aa0761ecbb2b32e3ebf680a04382c287
attemptDeadServiceRecovery() is a hack to recover from NfcService dying. It
should be a rare event, and is only needed in NfcAdapter which is a long-lived
object.
TagTechnology objects are transient, it is acceptable for them to go stale
when NFC service dies. Lets not complicate the code with recovery for a rare
event.
Change-Id: I101350e920b075c680eb4f250683f0a2bb878553
The fast scroller now always positions by index position.
Fixed a bug with always-show fast scrollers.
Change-Id: I08586ab2aae9733e78aa823aff711bcc14d2d44d
Replaces use of ro.monkey system property. This new API is controlled by
ro.test_harness.
Bug 3329873
Change-Id: Idb5bbbd9ca691976ef842eec681be34c29915976
This fixes a bug where translations wouldn't pick up the proper
AM/PM indicator because AndroidClock.ttf doesn't contain the
full Android character set for translations.
Change-Id: I61737bae7383946906a4e6b776afa7463da9355d
Bug #3109366
Bug #3109382
The new behavior of AsyncTask is the following:
- Unchanged if you don't call cancel()
- If you call cancel():
- Either onCancelled() *OR* onPostExecute() is invoked
- onCancelled() is invoked only after doInBackground() finishes
Change-Id: If53faec5890d2fa7098aea76973186a0b1026b39
The public API is not supposed to require the BACKUP permission in order
for an application to restore its own last-known-good backup data. However,
as currently implemented, BackupManager.requestRestore() [the public API
in question] depends on private Backup Manager methods that *do* enforce
that permission. The net result is that the method cannot be successfully
used by third party applications: it will throw an exception if attempted.
This CL restructures the permission checking involved.
First, the underlying beginRestoreSession() operation can now be passed a
'null' transport name; if this is done, then the restore session is begun
on whatever the currently-active transport is. Looking up the name of the
active transport is one of the permission-guarded actions that was required
with the initial implementation.
Second, a package name can now be passed to beginRestoreSession(). If
this is done, then the restore session can only be used to perform a
single-package restore of that one application. The BACKUP permission is
not required if the caller is tying the restore to its own package name.
In combination, these changes permit BackupManager.requestRestore() to
function without the calling app needing to hold any special permission.
The no-permission case is intentionally quite narrow: the caller must
hold the permission unless they both (a) pass 'null' for the transport
name, thereby accepting whatever the currently active transport is, and
(b) pass their own package name to restrict the restore session only
to their own app.
External bug http://code.google.com/p/android/issues/detail?id=10094
Internal bug 3197202
(Cherrypick from master to gingerbread)
Change-Id: Ie20b0bd2420345ce6eda178f854680b558f6372a
The reason we need a separate latch is that
AsyncTask will post onPostExecute/onCancelled
_after_ executing mFuture.get(). The previous
implementation would only wait for mFuture.get()
to complete and not the entire task.
Change-Id: I96964591980965148eb09af38b5838bfa5d28277
There was already a mechanism for sending out events for LayoutTransition
when animations started or ended, but the implementation only sent out events
for the appearing/disappearing animations. This fix provides callbacks to
listeners for the CHANGE_APPEARING and CHANGE_DISAPPEARING transitions, too.
Change-Id: Icfb8cc1c20d2df3e4a817255e96c9d0e94c1d8c4
...to throttle contentobserver-based requeries
Why yes, I guess it could.
This also reworks AsyncTaskLoader to not generate multiple
concurrent tasks if it is getting change notifications before
the last background task is complete.
And removes some of the old APIs that had been deprecated but
need to be gone for final release.
And fixes a few little problems with applying the wrong theme
in system code.
Change-Id: Ic7a665b666d0fb9d348e5f23595532191065884f